Read a node's eval tail off its record work instead of a class label

This commit is contained in:
Dennis Kobert
2026-09-14 17:20:26 +02:00
parent 0a4e03beb9
commit e6bbfe2ea1
3 changed files with 124 additions and 6 deletions

View File

@@ -1861,11 +1861,7 @@ pub(crate) fn generate_node_impl(crate_ident: &CrateIdent, parsed: &ParsedNodeFn
} else if future_kernel {
Tail::SpawnFuture
} else {
match ir::node_kind(&node) {
ir::NodeKind::RecordIo => Tail::Record,
ir::NodeKind::Flip => Tail::Flip,
ir::NodeKind::Routing | ir::NodeKind::Opaque => Tail::Forward,
}
ir::record_tail(&node)
};
// A carried tail claims the node's frame first, evaluates the carrier
// beyond it, and carries its fields; every exit closes the frame through