Bug 21018 – Assert fails glue.d(1560) using -allinst due to an error making it into codegen

Status
RESOLVED
Resolution
WORKSFORME
Severity
critical
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2020-07-06T08:53:10Z
Last change time
2023-04-05T11:12:52Z
Keywords
ice, pull
Assigned to
No Owner
Creator
Stefan Koch

Comments

Comment #0 by uplink.coder — 2020-07-06T08:53:10Z
compile the following code with allinst. template Tuple(Specs) { struct Tuple { this() { } ref opAssign(R)(R ) if (isTuple!R) { } } } enum isTuple(T) = __traits(compiles, { void f(Specs)(Specs ) {} f(T.init); } ); pragma(msg, is(Tuple!int)); Reduced version of: https://issues.dlang.org/show_bug.cgi?id=21017
Comment #1 by b2.temp — 2020-07-06T08:55:00Z
thanks, uplink, maybe reset 2107 to a "phobos" now, as I've changed this field.
Comment #2 by b2.temp — 2020-07-06T08:56:16Z
NVM done the change. Thanks again, it's important to keep issues coherant.
Comment #3 by dlang-bot — 2020-07-06T09:19:23Z
@UplinkCoder created dlang/dmd pull request #11379 "Fix 21018 - Don't emit speculative instances even if -allinst is given" fixing this issue: - Fix 21018 - Don't emit speculative instances even if -allinst is given https://github.com/dlang/dmd/pull/11379
Comment #4 by razvan.nitu1305 — 2023-04-05T11:11:40Z
*** Issue 21017 has been marked as a duplicate of this issue. ***
Comment #5 by razvan.nitu1305 — 2023-04-05T11:12:52Z
I cannot reproduce this. This seems to have been fixed.