Skip to content

Commit 6a8a8c9

Browse files
committed
Fix compile_fail tests (#2984)
# Objective - Bevy has several `compile_fail` test - #2254 added `#[derive(Component)]` - Those tests now fail for a different reason. - This was not caught as these test still "successfully" failed to compile. ## Solution - Add `#[derive(Component)]` to the doctest - Also changed their cfg attribute from `doc` to `doctest`, so that these tests don't appear when running `cargo doc` with `--document-private-items`
1 parent d65fbd7 commit 6a8a8c9

File tree

1 file changed

+26
-16
lines changed
  • crates/bevy_ecs/src/system

1 file changed

+26
-16
lines changed

crates/bevy_ecs/src/system/mod.rs

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -787,8 +787,9 @@ mod tests {
787787
}
788788
}
789789

790-
/// ```compile_fail
790+
/// ```compile_fail E0499
791791
/// use bevy_ecs::prelude::*;
792+
/// #[derive(Component)]
792793
/// struct A(usize);
793794
/// fn system(mut query: Query<&mut A>, e: Res<Entity>) {
794795
/// let mut iter = query.iter_mut();
@@ -802,11 +803,12 @@ mod tests {
802803
/// }
803804
/// ```
804805
#[allow(unused)]
805-
#[cfg(doc)]
806+
#[cfg(doctest)]
806807
fn system_query_iter_lifetime_safety_test() {}
807808

808-
/// ```compile_fail
809+
/// ```compile_fail E0499
809810
/// use bevy_ecs::prelude::*;
811+
/// #[derive(Component)]
810812
/// struct A(usize);
811813
/// fn system(mut query: Query<&mut A>, e: Res<Entity>) {
812814
/// let mut a1 = query.get_mut(*e).unwrap();
@@ -816,11 +818,12 @@ fn system_query_iter_lifetime_safety_test() {}
816818
/// }
817819
/// ```
818820
#[allow(unused)]
819-
#[cfg(doc)]
821+
#[cfg(doctest)]
820822
fn system_query_get_lifetime_safety_test() {}
821823

822-
/// ```compile_fail
824+
/// ```compile_fail E0499
823825
/// use bevy_ecs::prelude::*;
826+
/// #[derive(Component)]
824827
/// struct A(usize);
825828
/// fn query_set(mut queries: QuerySet<(QueryState<&mut A>, QueryState<&A>)>, e: Res<Entity>) {
826829
/// let mut q2 = queries.q0();
@@ -836,11 +839,12 @@ fn system_query_get_lifetime_safety_test() {}
836839
/// }
837840
/// ```
838841
#[allow(unused)]
839-
#[cfg(doc)]
842+
#[cfg(doctest)]
840843
fn system_query_set_iter_lifetime_safety_test() {}
841844

842-
/// ```compile_fail
845+
/// ```compile_fail E0499
843846
/// use bevy_ecs::prelude::*;
847+
/// #[derive(Component)]
844848
/// struct A(usize);
845849
/// fn query_set(mut queries: QuerySet<(QueryState<&mut A>, QueryState<&A>)>, e: Res<Entity>) {
846850
/// let q1 = queries.q1();
@@ -856,11 +860,12 @@ fn system_query_set_iter_lifetime_safety_test() {}
856860
/// }
857861
/// ```
858862
#[allow(unused)]
859-
#[cfg(doc)]
863+
#[cfg(doctest)]
860864
fn system_query_set_iter_flip_lifetime_safety_test() {}
861865

862-
/// ```compile_fail
866+
/// ```compile_fail E0499
863867
/// use bevy_ecs::prelude::*;
868+
/// #[derive(Component)]
864869
/// struct A(usize);
865870
/// fn query_set(mut queries: QuerySet<(QueryState<&mut A>, QueryState<&A>)>, e: Res<Entity>) {
866871
/// let mut q2 = queries.q0();
@@ -874,11 +879,12 @@ fn system_query_set_iter_flip_lifetime_safety_test() {}
874879
/// }
875880
/// ```
876881
#[allow(unused)]
877-
#[cfg(doc)]
882+
#[cfg(doctest)]
878883
fn system_query_set_get_lifetime_safety_test() {}
879884

880-
/// ```compile_fail
885+
/// ```compile_fail E0499
881886
/// use bevy_ecs::prelude::*;
887+
/// #[derive(Component)]
882888
/// struct A(usize);
883889
/// fn query_set(mut queries: QuerySet<(QueryState<&mut A>, QueryState<&A>)>, e: Res<Entity>) {
884890
/// let q1 = queries.q1();
@@ -891,13 +897,15 @@ fn system_query_set_get_lifetime_safety_test() {}
891897
/// }
892898
/// ```
893899
#[allow(unused)]
894-
#[cfg(doc)]
900+
#[cfg(doctest)]
895901
fn system_query_set_get_flip_lifetime_safety_test() {}
896902

897-
/// ```compile_fail
903+
/// ```compile_fail E0502
898904
/// use bevy_ecs::prelude::*;
899905
/// use bevy_ecs::system::SystemState;
906+
/// #[derive(Component)]
900907
/// struct A(usize);
908+
/// #[derive(Component)]
901909
/// struct B(usize);
902910
/// struct State {
903911
/// state_r: SystemState<Query<'static, 'static, &'static A>>,
@@ -918,13 +926,15 @@ fn system_query_set_get_flip_lifetime_safety_test() {}
918926
/// }
919927
/// ```
920928
#[allow(unused)]
921-
#[cfg(doc)]
929+
#[cfg(doctest)]
922930
fn system_state_get_lifetime_safety_test() {}
923931

924-
/// ```compile_fail
932+
/// ```compile_fail E0502
925933
/// use bevy_ecs::prelude::*;
926934
/// use bevy_ecs::system::SystemState;
935+
/// #[derive(Component)]
927936
/// struct A(usize);
937+
/// #[derive(Component)]
928938
/// struct B(usize);
929939
/// struct State {
930940
/// state_r: SystemState<Query<'static, 'static, &'static A>>,
@@ -943,5 +953,5 @@ fn system_state_get_lifetime_safety_test() {}
943953
/// }
944954
/// ```
945955
#[allow(unused)]
946-
#[cfg(doc)]
956+
#[cfg(doctest)]
947957
fn system_state_iter_lifetime_safety_test() {}

0 commit comments

Comments
 (0)