[Issue 17059] [REG 2.072.2] incorrect circular reference with `is(Klass : Interface)`

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Mon Jan 9 22:32:14 PST 2017


https://issues.dlang.org/show_bug.cgi?id=17059

--- Comment #3 from github-bugzilla at puremagic.com ---
Commits pushed to stable at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/c4ac1abed6e6aa95b1312d777f77fb634e2dac07
fix Issue 17059 - incorrect circular reference with `is(Klass : Interface)`

- fixed by tweaking the fix for Issue 16980 (#6383)
- happened b/c TypeClass::implicitConv -> TypeClass::constConv checks
  for offset == 0, which triggered size finalization
- instead handle unfinalized classes in isBaseOf (new OFFSET_FWDREF)
  and only explicity finalize size before optimizing casts
- add a halt for any OFFSET_FWDREF leaking through to IR gen

https://github.com/dlang/dmd/commit/45c886fab62ed8a99ab054d3d5e9c2e6a38e429e
Merge pull request #6412 from MartinNowak/fix17059

fix Issue 17059 - incorrect circular reference with `is(Klass : Interface)`

--


More information about the Digitalmars-d-bugs mailing list