From b7d4bd4b5844e797bf8e0a147ea44ccaa646d242 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sun, 3 Mar 2024 14:15:56 +0100 Subject: [PATCH] Avoid uselessly computing turn descriptions when there is no listener for them --- syndicate/src/actor.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syndicate/src/actor.rs b/syndicate/src/actor.rs index 321511f..b629249 100644 --- a/syndicate/src/actor.rs +++ b/syndicate/src/actor.rs @@ -1826,8 +1826,9 @@ impl Actor { boot: F, ) -> ActorHandle { let ac = Actor::new(None, trace_collector.clone()); + let topcause = trace_collector.as_ref().map(|_| trace::TurnCause::external("top-level actor")); let account = Account::new(None, trace_collector); - ac.boot(None, account, Some(trace::TurnCause::external("top-level actor")), boot) + ac.boot(None, account, topcause, boot) } /// Create a new actor. It still needs to be [`boot`ed][Self::boot].