diff --git a/crates/bevy_ecs/src/schedule/set.rs b/crates/bevy_ecs/src/schedule/set.rs index ad882f11c1..23058a3de9 100644 --- a/crates/bevy_ecs/src/schedule/set.rs +++ b/crates/bevy_ecs/src/schedule/set.rs @@ -37,14 +37,18 @@ pub trait SystemSet: DynHash + Debug + Send + Sync + 'static { fn dyn_clone(&self) -> Box; } -/// A system set that is never contained in another set. -/// Systems and other system sets may only belong to one base set. +/// A marker trait for `SystemSet` types where [`is_base`] returns `true`. +/// This should only be implemented for types that satisfy this requirement. +/// It is automatically implemented for base set types by `#[derive(SystemSet)]`. /// -/// This should only be implemented for types that return `true` from [`SystemSet::is_base`]. +/// [`is_base`]: SystemSet::is_base pub trait BaseSystemSet: SystemSet {} -/// System sets that are *not* base sets. This should not be implemented for -/// any types that implement [`BaseSystemSet`]. +/// A marker trait for `SystemSet` types where [`is_base`] returns `false`. +/// This should only be implemented for types that satisfy this requirement. +/// It is automatically implemented for non-base set types by `#[derive(SystemSet)]`. +/// +/// [`is_base`]: SystemSet::is_base pub trait FreeSystemSet: SystemSet {} impl PartialEq for dyn SystemSet {