Skip to content

Commit 6ad6a04

Browse files
schedule graph: tweak label for missing references
1 parent 0a4d10c commit 6ad6a04

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

src/schedule_graph/mod.rs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ use bevy_platform::collections::hash_map::HashMap;
55
use bevy_platform::collections::hash_set::HashSet;
66
pub 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

1010
use crate::dot::DotGraph;
1111
use 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

Comments
 (0)