[Issue 19694] New: Cannot put Objective-C classes in structs
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Feb 23 11:32:13 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=19694
Issue ID: 19694
Summary: Cannot put Objective-C classes in structs
Product: D
Version: D2
Hardware: x86_64
OS: Mac OS X
Status: NEW
Severity: major
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: doob at me.com
The following code fails to link with DMD 2.085.0-beta.1
extern (Objective-C) class NSObject {}
struct Foo
{
NSObject o;
}
void main() {}
The error is:
Undefined symbols for architecture x86_64:
"__D4main8NSObject7__ClassZ", referenced from:
__D25TypeInfo_xC4main8NSObject6__initZ in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: linker exited with status 1
This issue occurs due to no classinfo is outputted for Objective-C classes.
This is intentional, but I'm not sure how to fix it. Global, local or TLS
variables or instance variables for classes don't require the classinfo, not
sure why a struct field requires it.
--
More information about the Digitalmars-d-bugs
mailing list