Bug 20056 – DMD Segfault in 2.087

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2019-07-16T12:33:30Z
Last change time
2019-07-16T23:08:16Z
Keywords
ice, ice-on-invalid-code, pull
Assigned to
No Owner
Creator
John Colvin

Comments

Comment #0 by john.loughran.colvin — 2019-07-16T12:33:30Z
The following code segfaults the compiler. I suspect https://github.com/dlang/dmd/pull/9282 was the cause but Digger was unable to bisect usefully struct Def(alias fn) { alias func = alias_selector!(fn).VOverloads[0]; } template alias_selector(alias fn) { alias VOverloads = __traits(getOverloads, __traits(parent, fn), __traits(identifier, fn)); } void init_rangewrapper() { Def!(RangeWrapper.iter).func; } struct RangeWrapper { void iter() { } }
Comment #1 by dlang-bot — 2019-07-16T17:23:58Z
@Basile-z created dlang/dmd pull request #10187 "fix issue 20056 - DMD Segfault when checking access for template alias parameter" fixing this issue: - fix issue 20056 - DMD Segfault in 2.087 https://github.com/dlang/dmd/pull/10187
Comment #2 by dlang-bot — 2019-07-16T23:08:16Z
dlang/dmd pull request #10187 "fix issue 20056 - DMD Segfault when checking access for template alias parameter" was merged into stable: - 2717993932e6efa9a2e985fe751e1d9ea9201e38 by Basile Burg: fix issue 20056 - DMD Segfault in 2.087 https://github.com/dlang/dmd/pull/10187