Build setting rules shouldn't be able to use toolchain resolution.
They are part of the configuration, this would lead to cycles.
Fixes #9099.
Closes #9107.
PiperOrigin-RevId: 262201650
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index f411949..0a08231 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -853,6 +853,10 @@
attrBuilder.allowedRuleClasses(ANY_RULE);
}
this.add(attrBuilder);
+
+ // Build setting rules should opt out of toolchain resolution, since they form part of the
+ // configuration.
+ this.useToolchainResolution(false);
}
return new RuleClass(