Fix delays inside interface functions, and classes inside interfaces (#5846).

This commit is contained in:
Wilson Snyder
2025-03-30 16:40:22 -04:00
parent 21229e0350
commit b49351356e
5 changed files with 53 additions and 2 deletions
+2
View File
@@ -24,10 +24,12 @@
// FORKs that spawn tasks which might outlive their parents require those
// tasks to carry their own frames and as such they require their own
// variable scopes.
//
// There are two mechanisms that work together to achieve that. ForkVisitor
// moves bodies of forked processes into new tasks, which results in them getting their
// own scopes. The original statements get replaced with a call to the task which
// passes the required variables by value.
//
// The second mechanism, DynScopeVisitor, is designed to handle variables which can't be
// captured by value and instead require a reference. Those variables get moved into an
// "anonymous" object, ie. a class with appropriate fields gets generated and an object