View source code
Display the source code in dmd/escape.d from which this page was generated on github.
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 local clone.

Struct dmd.escape.EscapeByResults

Aggregate the data collected by the escapeBy??() functions.

struct EscapeByResults ;

Fields

NameTypeDescription
byExp void delegate(Expression, bool)called when expression temporaries are being returned by ref / address
byFunc void delegate(FuncDeclaration, bool)called on nested functions that are turned into delegates When called is true, it means the delegate escapes variables from the closure through a call to it, while false means the delegate itself escapes.
byRef void delegate(VarDeclaration, bool)called on variables being returned by ref / address
byValue void delegate(VarDeclaration)called on variables with values containing pointers
live boolif @live semantics apply, i.e. expressions p, *p, **p, etc., all return p.

Authors

Walter Bright

License

Boost License 1.0