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