http://wiki.dlang.org/DIP25
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Mon Dec 29 09:26:53 PST 2014
On Monday, 29 December 2014 at 04:13:18 UTC, Andrei Alexandrescu
wrote:
> Walter's reasoning was: we have inout for propagating
> qualifiers from a parameter ("this" is also a parameter) to the
> output, so we can use it for propagating aliasing information
> as well.
Yay! I have been asking for it since scope threads started :)
I like the intention behind the DIP and I think idea itself is
sound and fits naturally into existing language.
But this example confuses me:
@safe ref int wrongIdentity(ref int x) {
return x; // ERROR! Cannot return a ref, please use "ref
inout"
}
@safe ref int identity(ref inout int x) {
return x; // fine
}
If existing meaning of is to be kept too second example should
look like this:
@safe ref inout int identity(ref inout int x) {
return x; // fine
}
otherwise it allows silent casting of const reference to mutable
one!
More information about the Digitalmars-d
mailing list