https://issues.dlang.org/show_bug.cgi?id=20084

kinke <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]
           Hardware|x86                         |All
                 OS|Mac OS X                    |All
           Severity|enhancement                 |normal

--- Comment #1 from kinke <[email protected]> ---
With `-dip1000`, get() returns a reference, just like inoutGet().

Even this compiles with `-dip1000 -dip25` but clearly reads beyond the stack:
-----
@safe:

struct W(T) {
    T value;
    ref T front() return { return value; }
}

ref get(T)(W!T value) {
    return value.front;
}

void foo() {
    int i = get(W!int(4));
}
-----

--

Reply via email to