@@ -5,13 +5,13 @@ use bevy_platform::collections::hash_map::HashMap;
55use bevy_platform:: collections:: hash_set:: HashSet ;
66pub use settings:: Settings ;
77
8- use std:: { borrow:: Cow , collections:: VecDeque , fmt:: Write , sync:: atomic:: AtomicUsize } ;
8+ use std:: { any :: TypeId , borrow:: Cow , collections:: VecDeque , fmt:: Write , sync:: atomic:: AtomicUsize } ;
99
1010use crate :: dot:: DotGraph ;
1111use bevy_ecs:: {
1212 schedule:: {
1313 graph:: { DiGraph , Direction } ,
14- NodeId , Schedule , ScheduleGraph , SystemSet ,
14+ ApplyDeferred , NodeId , Schedule , ScheduleGraph , SystemSet ,
1515 } ,
1616 system:: ScheduleSystem ,
1717 world:: World ,
@@ -610,12 +610,29 @@ impl ScheduleGraphContext<'_> {
610610 NodeId :: Set ( _) => {
611611 let set = self . graph . set_at ( node_id) ;
612612
613- if set. system_type ( ) . is_some ( ) {
613+ if set. system_type ( ) == Some ( TypeId :: of :: < ApplyDeferred > ( ) ) {
614+ "ApplyDeferred" . to_owned ( )
615+ } else if set. system_type ( ) . is_some ( ) {
614616 let system_node = self . system_of_system_type ( set) ;
615617 if let Some ( system_node) = system_node {
616618 self . system_node_ref ( system_node)
617619 } else {
618- format ! ( "UNKNOWN {:?}" , disqualified:: ShortName ( & format!( "{set:?}" ) ) )
620+ let name = format ! ( "{:?}" , disqualified:: ShortName ( & format!( "{set:?}" ) ) ) ;
621+ if name. starts_with ( "SystemTypeSet(fn FunctionSystem" ) {
622+ let fn_name = name
623+ . trim_end_matches ( ">())" )
624+ . rsplit_once ( ' ' )
625+ . unwrap ( )
626+ . 1
627+ . to_owned ( ) ;
628+
629+ format ! ( "<missing> {fn_name}" )
630+ } else {
631+ format ! (
632+ "<missing> {:?}" ,
633+ disqualified:: ShortName ( & format!( "{set:?}" ) )
634+ )
635+ }
619636 }
620637 } else {
621638 marker_name ( node_id)
0 commit comments