[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