[Issue 16084] New: Linker error with interface final function calling virtual function
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri May 27 07:56:59 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16084
Issue ID: 16084
Summary: Linker error with interface final function calling
virtual function
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: jack at jackstouffer.com
The following legal code fails to compile with a linker error, reduced with
dustmite:
-----------------
import std.typecons;
struct Result
{
Nullable!(int) var;
}
interface A
{
bool func(S)(S a);
final void validate(Result res)
{
if (func(res))
res.var = 0;
}
}
void main() {}
-----------------
$ dmd ymd.d
Undefined symbols for architecture x86_64:
"__D3ymd1A22__T4funcTS3ymd6ResultZ4funcMFS3ymd6ResultZb", referenced from:
__D3ymd1A8validateMFS3ymd6ResultZv in ymd.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: /usr/bin/gcc failed with status: 1
--
More information about the Digitalmars-d-bugs
mailing list