mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-29 07:08:11 +08:00
Enforce unwind safety on all public executor entry points (#4356)
This commit is contained in:
@@ -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));
|
||||||
|
|||||||
Reference in New Issue
Block a user