[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
Sat Mar 2 10:05:29 UTC 2019


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

Dlang Bot <dlang-bot at dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #10 from Dlang Bot <dlang-bot at dlang.rocks> ---
dlang/dmd pull request #9402 "Fix issue 19700: Obj-C wrong code overloading
selectors and extern(D)" was merged into stable:

- bc8338ed8c3d30af8685f3c0a4f7576b32b20b3d by Jacob Carlborg:
  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