[Issue 19700] [2.085.0-beta.2] Obj-C wrong code overloading selectors and extern(D)
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Mar 1 20:04:48 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=19700
Dlang Bot <dlang-bot at dlang.rocks> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |pull
--- Comment #9 from Dlang Bot <dlang-bot at dlang.rocks> ---
@jacob-carlborg created dlang/dmd pull request #9402 "Fix issue 19700: Obj-C
wrong code overloading selectors and extern(D)" fixing this issue:
- Fix issue 19700: Obj-C wrong code overloading selectors and extern(D)
The issue is that if an Objective-C class contains at least one method
with a body it will be considered an internally defined class. This
means that for a declaration for a class that is supposed to be
defined externally it won't look for this class externally when
linking. Basically the internally defined class has taken precedence
over the externally defined class. When some of the methods don't have
a body a runtime exception will occur in the Objective-C runtime when
they're called.
The fix is to require `extern (Objective-C) extern` for externally
defined classes. For internally defined classes, `extern (Objective-C)`
is used.
https://github.com/dlang/dmd/pull/9402
--
More information about the Digitalmars-d-bugs
mailing list