Add safety checks for configurable attributes in trimming mode.

Trimming does not support configurable attributes, so these checks prevent
rules with configurable attributes from silently being evaluated incorrectly.

Progress on #6524.

PiperOrigin-RevId: 244959981
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index 1e36cb7..bc0e621 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -608,6 +608,15 @@
             .collect(Collectors.toList());
     if (configLabels.isEmpty()) {
       return NO_CONFIG_CONDITIONS;
+    } else if (ctgValue.getConfiguration().trimConfigurationsRetroactively()) {
+      String message =
+          target.getLabel()
+              + " has configurable attributes, but these are not supported in retroactive trimming "
+              + "mode.";
+      env.getListener().handle(Event.error(TargetUtils.getLocationMaybe(target), message));
+      throw new DependencyEvaluationException(
+          new ConfiguredValueCreationException(
+              message, ctgValue.getLabel(), ctgValue.getConfiguration()));
     }
 
     // Collect the actual deps without a configuration transition (since by definition config