Thread overview
[Issue 20183] Assigning statement scope of struct literal or temporary to variable with longer lifetime
[Issue 20183] Returning address of return ref parameter with temporary struct field
Aug 30, 2019
Nick Treleaven
Aug 30, 2019
Nick Treleaven
Mar 19, 2020
Walter Bright
Mar 19, 2020
Dlang Bot
Mar 19, 2020
Walter Bright
Jun 10, 2020
Dlang Bot
August 30, 2019
https://issues.dlang.org/show_bug.cgi?id=20183

Nick Treleaven <nick@geany.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |accepts-invalid, safe

--- Comment #1 from Nick Treleaven <nick@geany.org> ---
This is with -dip1000.

--
August 30, 2019
https://issues.dlang.org/show_bug.cgi?id=20183

Nick Treleaven <nick@geany.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=18756

--
March 19, 2020
https://issues.dlang.org/show_bug.cgi?id=20183

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com
            Summary|Returning address of return |Assigning statement scope
                   |ref parameter with          |of struct literal or
                   |temporary struct field      |temporary to variable with
                   |                            |longer lifetime

--
March 19, 2020
https://issues.dlang.org/show_bug.cgi?id=20183

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
@WalterBright created dlang/dmd pull request #10945 "fix Issue 20183 - Assigning statement scope of struct literal or temp…" fixing this issue:

- fix Issue 20183 - Assigning statement scope of struct literal or temporary to variable with longer lifetime

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

--
March 19, 2020
https://issues.dlang.org/show_bug.cgi?id=20183

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|x86                         |All
                 OS|Windows                     |All

--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> ---
The problem is that the lifetime of a struct literal or temporary is only to the end of the expression it appears in. Assigning the address of them to a longer lived variable is not valid.

--
June 10, 2020
https://issues.dlang.org/show_bug.cgi?id=20183

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #10945 "fix Issue 20183 - Assigning statement scope of struct literal or temp…" was merged into master:

- 37a695f4839b2f50d64535640382cb777459585b by Walter Bright:
  fix Issue 20183 - Assigning statement scope of struct literal or temporary to
variable with longer lifetime

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

--