Bug 18469 – [REG 2.079-b1] Segfault when trying to get type of __dtor.opCall

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2018-02-19T13:29:28Z
Last change time
2018-02-20T18:07:07Z
Keywords
ice, pull
Assigned to
No Owner
Creator
Basile B.

Comments

Comment #0 by b2.temp — 2018-02-19T13:29:28Z
this crash the compiler: ``` class Bar { ~this(){} this(){alias T = typeof(Bar.__dtor.opCall);} } void main() {} ``` instead of "Error: no property 'opCall' for type 'void'", like previously. Nonsense test case is because it is reduced from an usage of std.traits.isCallable.
Comment #1 by bitter.taste — 2018-02-19T17:30:03Z
Blame https://github.com/dlang/dmd/commit/8a61a31749272ec0ebe10f826ab696510e5ed154, `tthis_fd' is accessed without checking if it's != NULL.
Comment #2 by b2.temp — 2018-02-19T19:47:57Z
Thanks for digging bitter.taste, suddenly i can make a easily the PR: https://github.com/dlang/dmd/pull/7920/files
Comment #3 by razvan.nitu1305 — 2018-02-20T08:58:22Z
This should have been close when the PR was merged. Manually cloasing as fixed. Thanks for the joint effort Basile B. and bitter.taste.
Comment #4 by code — 2018-02-20T12:17:56Z
(In reply to RazvanN from comment #3) > This should have been close when the PR was merged. Manually cloasing as > fixed. Thanks for the joint effort Basile B. and bitter.taste. No, @RazvanN, we've reconfigure the GH-Bugzilla integration to only close issues once the fixes are merged into master, so to cause less confusion with sth. being only fixed in some branches.
Comment #5 by github-bugzilla — 2018-02-20T18:07:06Z
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/325abdfaf6113a6787aedcd958971228d8d44adb fix issue 18469 - [REG 2.079-b1] Segfault when trying to get type of __dtor.opCall https://github.com/dlang/dmd/commit/a5454d5c93c0acd4452a599884f15fae6eb93dda Merge pull request #7920 from BBasile/ice18469 fix issue 18469 - [REG 2.079-b1] Segfault when trying to get type of __dtor.opCall merged-on-behalf-of: Jacob Carlborg <[email protected]>