new DIP38: Safe references and rvalue references without runtime checks.

Timothee Cour thelastmammoth at gmail.com
Mon May 6 11:52:23 PDT 2013


Abstract

In short, the compiler internally annotates ref-return functions with
ref(i1,...,iN) indicating that the function may return argument j
(j=i1...iN) by reference (possibly via field accesses), where j is
also a ref input argument. This list can be empty, and if the function
is a method or internal function, argument 0 refers to implicit 'this'
parameter. These annotations are used to validate/invalidate ref
return functions that call such a ref return function. These
annotations are also written in the automatically generated di
interface files.

See the DIP38 for more details and examples.


More information about the Digitalmars-d mailing list