Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.
Compiler implementation of the D programming language.
- Convert expression into a delegate.Used to convert the argument to a lazy parameter.Parameters:
argument to convert to a delegate Type
the type to be returned by the delegate Scope*
contextReturns:A delegate literal
- Look for references to variables in a scope enclosing the new function literal.Essentially just calls checkNestedReference() for each variable reference in e`.Parameters:
expression to checkReturns:true if error occurs.
- See if context
sis nested within context
p, meaning it
pis reachable at runtime by walking the static links. If any of the intervening contexts are function literals, make sure they are delegates.Parameters:
inner context Dsymbol
outer contextReturns:true means it is accessible by walking the context pointers at runtime
References for static links see https://en.wikipedia.org/wiki/Call_stack#Functions_of_the_call_stack