Enforce unwind safety on all public executor entry points (#4356)

This commit is contained in:
Dennis Kobert
2026-07-24 09:34:40 +00:00
committed by GitHub
parent f5b1fee85f
commit 0f0f62c2e9
@@ -262,7 +262,7 @@ impl BorrowTree {
/// This ensures that no borrowed data can escape the node graph. /// This ensures that no borrowed data can escape the node graph.
pub async fn eval_tagged_value<I>(&self, id: NodeId, input: I) -> Result<TaggedValue, String> pub async fn eval_tagged_value<I>(&self, id: NodeId, input: I) -> Result<TaggedValue, String>
where where
I: StaticType + 'static + Send + Sync, I: StaticType + 'static + Send + Sync + std::panic::UnwindSafe,
{ {
let (node, _path) = self.nodes.get(&id).cloned().ok_or("Output node not found in executor")?; let (node, _path) = self.nodes.get(&id).cloned().ok_or("Output node not found in executor")?;
let output = node.eval(Box::new(input)); let output = node.eval(Box::new(input));