Accept boxed conditions for run_if, and cleanup IntoScheduleConfigs
#21977
+179
−179
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
run_if_dyn#18585We can introduce another layer of traits in order to directly accept boxed conditions as the argument to
IntoScheduleConfigs::run_if.Solution
IntoBoxedConditiontrait which is used to convertIntoSystemconditions andBoxedConditonintoBoxedConditions.ScheduleConfigs::x_innerfunctions toadd_x/set_xand make them public. These are simply the&mut selfversions of the functions onIntoScheduleConfigs, so we should expose them.impl IntoScheduleConfigs for ScheduleConfigssince we now use thoseadd_xfunctions in the default function implementations inIntoScheduleConfigs.Testing
Added a new test for supplying a
BoxedConditiontorun_if.