https://issues.dlang.org/show_bug.cgi?id=18774
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #9 from [email protected] --- Symbol table for Win64 with a manual declaration, without importing test.di (main.d renamed to current.d, main() renamed to foo()): 010 00000000 SECT5 notype () External | _D7current3fooFZi 011 00000000 SECT6 notype Static | $unwind$_D7current3fooFZi 012 00000000 SECT7 notype Static | $pdata$_D7current3fooFZi 013 00000000 SECT4 notype External | _D7current12__ModuleInfoZ 014 00000000 UNDEF notype () External | _D7current9test_funcFiiZv When importing test.di, some TypeInfos incl. accompanying functions __xopEquals() & __xtoHash() are wrongly emitted into the module, incl. a reference to the non-emitted struct init symbol in its TypeInfo (emitted into current.obj), leading to the observed linking error (and referencing a bunch of symbols in druntime): 040 00000000 SECT5 notype () External | _D7current3fooFZi 041 00000000 SECT6 notype Static | $unwind$_D7current3fooFZi 042 00000000 SECT7 notype Static | $pdata$_D7current3fooFZi 043 00000000 SECT8 notype External | _D11TypeInfo_ya6__initZ 044 00000000 SECT9 notype () External | _D3std5array__T8AppenderTAyaZQo4Data11__xopEqualsFKxSQBzQBy__TQBvTQBpZQCdQBqKxQBaZb 045 00000000 SECTA notype Static | $unwind$_D3std5array__T8AppenderTAyaZQo4Data11__xopEqualsFKxSQBzQBy__TQBvTQBpZQCdQBqKxQBaZb 046 00000000 SECTB notype Static | $pdata$_D3std5array__T8AppenderTAyaZQo4Data11__xopEqualsFKxSQBzQBy__TQBvTQBpZQCdQBqKxQBaZb 047 00000000 SECTC notype () External | _D3std5array__T8AppenderTAyaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm 048 00000000 SECTD notype Static | $unwind$_D3std5array__T8AppenderTAyaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm 049 00000000 SECTE notype Static | $pdata$_D3std5array__T8AppenderTAyaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm 04A 00000000 SECTF notype External | _D44TypeInfo_S3std5array__T8AppenderTAyaZQo4Data6__initZ 04B 00000000 SECT10 notype () External | _D3std5range__T3ZipTAAyaTQfZQn11__xopEqualsFKxSQBtQBs__TQBpTQBoTQBsZQCbKxQBbZb 04C 00000000 SECT11 notype Static | $unwind$_D3std5range__T3ZipTAAyaTQfZQn11__xopEqualsFKxSQBtQBs__TQBpTQBoTQBsZQCbKxQBbZb 04D 00000000 SECT12 notype Static | $pdata$_D3std5range__T3ZipTAAyaTQfZQn11__xopEqualsFKxSQBtQBs__TQBpTQBoTQBsZQCbKxQBbZb 04E 00000000 SECT13 notype () External | _D3std5range__T3ZipTAAyaTQfZQn9__xtoHashFNbNeKxSQBuQBt__TQBqTQBpTQBtZQCcZm 04F 00000000 SECT14 notype Static | $unwind$_D3std5range__T3ZipTAAyaTQfZQn9__xtoHashFNbNeKxSQBuQBt__TQBqTQBpTQBtZQCcZm 050 00000000 SECT15 notype Static | $pdata$_D3std5range__T3ZipTAAyaTQfZQn9__xtoHashFNbNeKxSQBuQBt__TQBqTQBpTQBtZQCcZm 051 00000000 SECT16 notype External | _D38TypeInfo_S3std5range__T3ZipTAAyaTQfZQn6__initZ 052 00000000 SECT17 notype External | _D39TypeInfo_xS3std5range__T3ZipTAAyaTQfZQn6__initZ 053 00000000 SECT18 notype External | _D11TypeInfo_xm6__initZ 054 00000000 SECT19 notype External | _D12TypeInfo_xAa6__initZ 055 00000000 SECT1A notype External | _D11TypeInfo_xb6__initZ 056 00000000 SECT1B notype External | _D13TypeInfo_xAya6__initZ 057 00000000 SECT1C notype External | _D14TypeInfo_AxAya6__initZ 058 00000000 SECT1D notype External | _D14TypeInfo_xAAya6__initZ 059 00000000 SECT1E notype External | _D36TypeInfo_E3std5range14StoppingPolicy6__initZ 05A 00000000 SECT1F notype External | _D37TypeInfo_xE3std5range14StoppingPolicy6__initZ 05B 00000000 SECT4 notype External | _D7current12__ModuleInfoZ 05C 00000000 UNDEF notype () External | _D7test1239test_funcFiiZv 05D 00000000 UNDEF notype External | _D18TypeInfo_Invariant6__vtblZ 05E 00000000 UNDEF notype External | _D10TypeInfo_a6__initZ 05F 00000000 UNDEF notype () External | _D6object__T8__equalsTxaTxaZQqFNaNbNiNfAxaQdZb 060 00000000 UNDEF notype External | _D15TypeInfo_Struct6__vtblZ 061 00000000 UNDEF notype External | _D3std5array__T8AppenderTAyaZQo4Data6__initZ 062 00000000 UNDEF notype () External | _D6object__T8__equalsTxAyaTxQfZQtFNaNbNiNfAxQvQeZb 063 00000000 UNDEF notype External | _D3std5range__T3ZipTAAyaTQfZQn6__initZ 064 00000000 UNDEF notype External | _D14TypeInfo_Const6__vtblZ 065 00000000 UNDEF notype External | _D10TypeInfo_m6__initZ 066 00000000 UNDEF notype External | _D12TypeInfo_Axa6__initZ 067 00000000 UNDEF notype External | _D10TypeInfo_b6__initZ 068 00000000 UNDEF notype External | _D12TypeInfo_Aya6__initZ 069 00000000 UNDEF notype External | _D14TypeInfo_Array6__vtblZ 06A 00000000 UNDEF notype External | _D13TypeInfo_Enum6__vtblZ 06B 00000000 UNDEF notype External | _D10TypeInfo_i6__initZ --
