Bug 23882 – ICE (segfault) on nasty alias this code

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2023-05-04T09:29:51Z
Last change time
2023-05-16T12:28:58Z
Keywords
pull
Assigned to
No Owner
Creator
John Colvin

Comments

Comment #0 by john.loughran.colvin — 2023-05-04T09:29:51Z
struct G(H) { Tuple!(R) S; } struct BB(H) { H* YC; alias YC this; } struct R { BB!(G!float) CB; alias CB this; this(typeof(CB.S).init); } class ND { R[] RD() { return null; } } struct Tuple(Specs) { Specs expand; this(Specs values) { expand = values; } } run.dlang.io says the segfault is there since 2.092.1 onlineapp.d(17): Error: `typeof((*YC).S).init` is used as a type Segmentation fault (core dumped)
Comment #1 by dlang-bot — 2023-05-04T11:59:16Z
@RazvanN7 created dlang/dmd pull request #15177 "Fix Issue 23882 - ICE (segfault) on nasty alias this code" fixing this issue: - Fix Issue 23882 - ICE (segfault) on nasty alias this code https://github.com/dlang/dmd/pull/15177
Comment #2 by dlang-bot — 2023-05-05T07:19:29Z
dlang/dmd pull request #15177 "Fix Issue 23882 - ICE (segfault) on nasty alias this code" was merged into stable: - 18970f16a1f4ec716158ae3f3d8d2eb4e0ce7464 by RazvanN7: Fix Issue 23882 - ICE (segfault) on nasty alias this code https://github.com/dlang/dmd/pull/15177
Comment #3 by dlang-bot — 2023-05-16T12:28:58Z
dlang/dmd pull request #15238 "merge stable" was merged into master: - 9d5f960b1fd718d7494dd43f5c954b8fc0fe0808 by Razvan Nitu: Fix Issue 23882 - ICE (segfault) on nasty alias this code (#15177) https://github.com/dlang/dmd/pull/15238