+
+ // If any of these effects are disabled (IdentityEffect chosen)
+ // or enabled (not chosen) as determined by <condition>, so should this one.
+ struct Disabler {
+ Index block_idx;
+ enum {
+ DISABLE_IF_OTHER_DISABLED,
+
+ // This a promise from the user; ie., we don't disable automatically
+ // (see comments in find_disabled_blocks()).
+ DISABLE_IF_OTHER_ENABLED
+ } condition;
+ std::string declaration_point; // For error messages.
+ };
+ std::vector<Disabler> disablers;