diff --git a/crates/bevy_app/src/app.rs b/crates/bevy_app/src/app.rs index e9889670bc64c..14d5e9820e954 100644 --- a/crates/bevy_app/src/app.rs +++ b/crates/bevy_app/src/app.rs @@ -32,6 +32,9 @@ use std::{ bevy_ecs::define_label!( /// A strongly-typed class of labels used to identify an [`App`]. + #[diagnostic::on_unimplemented( + note = "consider annotating `{Self}` with `#[derive(AppLabel)]`" + )] AppLabel, APP_LABEL_INTERNER ); diff --git a/crates/bevy_ecs/src/schedule/set.rs b/crates/bevy_ecs/src/schedule/set.rs index 623e0a2211a69..a48ccd16ae803 100644 --- a/crates/bevy_ecs/src/schedule/set.rs +++ b/crates/bevy_ecs/src/schedule/set.rs @@ -20,12 +20,18 @@ use crate::{ define_label!( /// A strongly-typed class of labels used to identify a [`Schedule`](crate::schedule::Schedule). + #[diagnostic::on_unimplemented( + note = "consider annotating `{Self}` with `#[derive(ScheduleLabel)]`" + )] ScheduleLabel, SCHEDULE_LABEL_INTERNER ); define_label!( /// Types that identify logical groups of systems. + #[diagnostic::on_unimplemented( + note = "consider annotating `{Self}` with `#[derive(SystemSet)]`" + )] SystemSet, SYSTEM_SET_INTERNER, extra_methods: { diff --git a/crates/bevy_render/src/render_graph/graph.rs b/crates/bevy_render/src/render_graph/graph.rs index 4b315e22a0869..96a37286ca237 100644 --- a/crates/bevy_render/src/render_graph/graph.rs +++ b/crates/bevy_render/src/render_graph/graph.rs @@ -14,6 +14,9 @@ use super::{EdgeExistence, InternedRenderLabel, IntoRenderNodeArray}; pub use bevy_render_macros::RenderSubGraph; define_label!( + #[diagnostic::on_unimplemented( + note = "consider annotating `{Self}` with `#[derive(RenderSubGraph)]`" + )] /// A strongly-typed class of labels used to identify a [`SubGraph`] in a render graph. RenderSubGraph, RENDER_SUB_GRAPH_INTERNER diff --git a/crates/bevy_render/src/render_graph/node.rs b/crates/bevy_render/src/render_graph/node.rs index cc4875a7791a8..0a634c2598461 100644 --- a/crates/bevy_render/src/render_graph/node.rs +++ b/crates/bevy_render/src/render_graph/node.rs @@ -23,6 +23,9 @@ pub use bevy_render_macros::RenderLabel; use super::{InternedRenderSubGraph, RenderSubGraph}; define_label!( + #[diagnostic::on_unimplemented( + note = "consider annotating `{Self}` with `#[derive(RenderLabel)]`" + )] /// A strongly-typed class of labels used to identify a [`Node`] in a render graph. RenderLabel, RENDER_LABEL_INTERNER