Thread overview
[Issue 17388] [scope] e[] should be treated like &e as far as scope goes
[Issue 17388] [scope] no escape analysis for auto return scope members
May 24, 2017
Martin Nowak
Aug 10, 2017
Walter Bright
Aug 10, 2017
Walter Bright
Aug 10, 2017
Walter Bright
May 24, 2017
https://issues.dlang.org/show_bug.cgi?id=17388

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |safe
                 CC|                            |code@dawg.eu
            Summary|[DIP1000] no escape         |[scope] no escape analysis
                   |analysis for auto return    |for auto return scope
                   |scope members               |members

--
August 10, 2017
https://issues.dlang.org/show_bug.cgi?id=17388

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #1 from Walter Bright <bugzilla@digitalmars.com> ---
This shrinks down a bit to:

struct S {
    int[]         // works
    //auto        // doesn't work
    foo() return @safe {
        return x[];
    }
    int[4] x;
}

@safe int[] f() {
    S s;
    return s.foo();
}

--
August 10, 2017
https://issues.dlang.org/show_bug.cgi?id=17388

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[scope] no escape analysis  |[scope] e[] should be
                   |for auto return scope       |treated like &e as far as
                   |members                     |scope goes

--
August 10, 2017
https://issues.dlang.org/show_bug.cgi?id=17388

--- Comment #2 from Walter Bright <bugzilla@digitalmars.com> ---
Note that it works if int[] is replaced by int*.

https://github.com/dlang/dmd/pull/7076

--
August 10, 2017
https://issues.dlang.org/show_bug.cgi?id=17388

--- Comment #3 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/fc9c84ba1722c02f0c1877ffa39134c84a5e13e0 fix Issue 17388 - [scope] e[] should be treated like &e as far as scope goes

https://github.com/dlang/dmd/commit/09cd19d51b1e000dc81a61d167dc559480958f3e Merge pull request #7076 from WalterBright/fix17388

fix Issue 17388 - [scope] e[] should be treated like &e as far as sco… merged-on-behalf-of: Martin Nowak <code@dawg.eu>

--
August 16, 2017
https://issues.dlang.org/show_bug.cgi?id=17388

--- Comment #4 from github-bugzilla@puremagic.com ---
Commits pushed to stable at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/fc9c84ba1722c02f0c1877ffa39134c84a5e13e0 fix Issue 17388 - [scope] e[] should be treated like &e as far as scope goes

https://github.com/dlang/dmd/commit/09cd19d51b1e000dc81a61d167dc559480958f3e Merge pull request #7076 from WalterBright/fix17388

--