www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 15676] New: The compiler does not preserve disable while

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

          Issue ID: 15676
           Summary: The compiler does not preserve  disable while
                    generating .di files
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: buknik95 yandex.ru

This can even lead to a link error if a struct template's member is being
 disabled:


//main.d:
import another;

void main() {
    S!int s;
}


//another.d:
struct S(T) {
     disable this(this);
}


//another.di (auto-generated):
struct S(T)
{
    this(this);
}


main.o:(.data._D29TypeInfo_S7another8__T1STiZ1S6__initZ+0x30): undefined
reference to `_D7another8__T1STiZ1S10__postblitMFZv'

--
Feb 12 2016