Bug 20894 – ICE: passing a member template mixin identifier as alias argument
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2020-06-02T18:05:03Z
Last change time
2021-04-09T10:29:20Z
Keywords
pull
Assigned to
No Owner
Creator
Boris Carvajal
Comments
Comment #0 by boris2.9 — 2020-06-02T18:05:03Z
------------------------
mixin template MT()
{
}
struct S
{
mixin MT mt;
}
void main()
{
auto r = S();
enum c = S();
foo!(r.mt); // OK
foo!(c.mt); // ICE
foo!(mixin("r.mt")); // ICE
foo!(mixin("c.mt")); // ICE
}
void foo(alias A)() {}
------------------------
output:
be = '.' c.mixin MT!() mt;
at [aaaaa.d(16)]
core.exception.AssertError@dmd/dinterpret.d(3144): Assertion failure
Comment #1 by dlang-bot — 2020-06-02T18:25:22Z
@BorisCarvajal created dlang/dmd pull request #11211 "Fix Issue 20894 - ICE: passing a member template mixin identifier as …" fixing this issue:
- Fix Issue 20894 - ICE: passing a member template mixin identifier as alias argument
https://github.com/dlang/dmd/pull/11211
Comment #2 by dlang-bot — 2020-06-03T09:33:15Z
dlang/dmd pull request #11211 "Fix Issue 20894 - ICE: passing a member template mixin identifier as …" was merged into stable:
- 51765cfae9b6c1806da443b7213298ba18f08954 by Boris Carvajal:
Fix Issue 20894 - ICE: passing a member template mixin identifier as alias argument
https://github.com/dlang/dmd/pull/11211
Comment #3 by dlang-bot — 2021-04-09T10:29:20Z
dlang/dmd pull request #12411 "[dmd-cxx] fix Issue 21813 - [REG-master] Bootstrap broken from dmd-cxx baseline" was merged into dmd-cxx:
- f0d60e7c8b985c7127020ec12acbb56dd38b2331 by Iain Buclaw:
[dmd-cxx] Fix Issue 20894 - ICE: passing a member template mixin identifier as alias argument
https://github.com/dlang/dmd/pull/12411