Thread overview
[Issue 19794] const on AliasSeq ignored
Apr 08, 2019
ag0aep6g
May 05, 2019
Simen Kjaeraas
May 23, 2019
Yuxuan Shui
May 23, 2019
Yuxuan Shui
Dec 17, 2022
Iain Buclaw
Dec 16
Basile-z
April 08, 2019
https://issues.dlang.org/show_bug.cgi?id=19794

ag0aep6g <ag0aep6g@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ag0aep6g@gmail.com

--- Comment #1 from ag0aep6g <ag0aep6g@gmail.com> ---
Noteworthy:

const AliasSeq!(int, int) b;
pragma(msg, typeof(b)); /* (const(int), const(int)) */

--
May 05, 2019
https://issues.dlang.org/show_bug.cgi?id=19794

Simen Kjaeraas <simen.kjaras@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |porton@narod.ru

--- Comment #2 from Simen Kjaeraas <simen.kjaras@gmail.com> ---
*** Issue 19845 has been marked as a duplicate of this issue. ***

--
May 23, 2019
https://issues.dlang.org/show_bug.cgi?id=19794

Yuxuan Shui <yshuiv7@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|enhancement                 |normal

--
May 23, 2019
https://issues.dlang.org/show_bug.cgi?id=19794

Yuxuan Shui <yshuiv7@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=19794

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P4

--
December 16
https://issues.dlang.org/show_bug.cgi?id=19794

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |accepts-invalid
           Priority|P4                          |P3
                 CC|                            |b2.temp@gmx.com
           Hardware|x86_64                      |All
                 OS|Linux                       |All
           Severity|enhancement                 |normal

--- Comment #3 from Basile-z <b2.temp@gmx.com> ---
Not and ER, that is well a bug, according to https://dlang.org/spec/const3.html#const_type

> [...]. Each applies transitively to all subtypes.

The problem is that the DMD class `TypeTuple` (in mtype.d) does not override
`.constOf`, `immutableOf()`, etc.

Tagging as accept-invalid given that

```d
alias AliasSeq(T...) = T;

const(AliasSeq!(int, int)) a;

void main()
{
    a[0] = 1;
}
```

should be reject just like when `const` is variable storage class.

--