Thread overview
[Issue 20608] [REG2.087] Cannot pass tuple.expand to auto ref T... template argument pack
Sep 02, 2020
Dlang Bot
Sep 25, 2020
Dlang Bot
February 25, 2020
https://issues.dlang.org/show_bug.cgi?id=20608

johanengelen@weka.io changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |industry, rejects-valid

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

moonlightsentinel@disroot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |moonlightsentinel@disroot.o
                   |                            |rg

--- Comment #1 from moonlightsentinel@disroot.org ---
Digger:

commit e268d8301979b2f1f83b4565a20ef1387ba34396
Author: The Dlang Bot <code+dlang-bot@dawg.eu>
Date:   Sun Jul 7 10:14:29 2019 +0200

dmd: Merge pull request #10115 from Basile-z/issue-20011-17828

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

fix issue 20011, 17828 - crash or accept write operation on members of manifest
constant structs
merged-on-behalf-of: Walter Bright <WalterBright@users.noreply.github.com>

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

--- Comment #2 from moonlightsentinel@disroot.org ---
Digger:

commit e268d8301979b2f1f83b4565a20ef1387ba34396
Author: The Dlang Bot <code+dlang-bot@dawg.eu>
Date:   Sun Jul 7 10:14:29 2019 +0200

dmd: Merge pull request #10115 from Basile-z/issue-20011-17828

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

fix issue 20011, 17828 - crash or accept write operation on members of manifest
constant structs
merged-on-behalf-of: Walter Bright <WalterBright@users.noreply.github.com>

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

--- Comment #3 from moonlightsentinel@disroot.org ---
Reduced example:

void foo(T...)(auto ref T args) {}

void main()
{
  enum tup = Tuple();
  foo(tup.expand); // line 6
}

struct Tuple
{
  int expand;
}

foo should probably infer non-ref for enums.

--
September 02, 2020
https://issues.dlang.org/show_bug.cgi?id=20608

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

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

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
@kinke updated dlang/dmd pull request #10124 "Fix Issue 19754 - Re-apply #9505 and fix it, making isLvalue() logic more restrictive wrt. literals" fixing this issue:

- Fix Issue 20608 - Revert (obsolete and problematic) #10115

  Which just patched over some cracks wrt. accessing fields of struct
  literals. Not a full revert, as the (useful) test cases are kept.

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

--
September 25, 2020
https://issues.dlang.org/show_bug.cgi?id=20608

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

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

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #10124 "Fix Issue 19754 - Re-apply #9505 and fix it, making isLvalue() logic more restrictive wrt. literals" was merged into master:

- eddb064ba44d2aeed527396184b40ea37169e80d by Martin Kinkelin:
  Fix Issue 20608 - Revert (obsolete and problematic) #10115

  Which just patched over some cracks wrt. accessing fields of struct
  literals. Not a full revert, as the (useful) test cases are kept.

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

--