I currently have SystemSet with many variants:
app.configure_sets(
Update,
(
InGameSet::A.run_if(state_in_game),
LoadingWorldOrInGameSet::A.run_if(state_loading_or_in_game),
LoadingWorldOrInGameSet::B.run_if(state_loading_or_in_game),
InGameSet::B.run_if(state_in_game),
InGameSet::C.run_if(state_in_game),
// ... More variants here
)
.chain(),
)
But I've reached the limit of 16.
I've tried nesting the sets in order to get around the limit like so:
app.configure_sets(
Update,
(
InGameSet::A.run_if(state_in_game),
LoadingWorldOrInGameSet::A.run_if(state_loading_or_in_game),
LoadingWorldOrInGameSet::B.run_if(state_loading_or_in_game),
(InGameSet::B.run_if(state_in_game), InGameSet::C.run_if(state_in_game)).chain(),
// ... More variants here
)
.chain(),
)
But that doesn't seem to be valid:
the method `chain` exists for tuple `(SystemSetConfigs, SystemSetConfig, SystemSetConfig, SystemSetConfig, ..., ..., ..., ..., ..., ..., ..., ...)`, but its trait bounds were not satisfied
What's the intended solution here?