Bug 15676 – The compiler does not preserve @disable while generating .di files

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2016-02-12T18:58:00Z
Last change time
2017-03-22T12:21:20Z
Assigned to
nobody
Creator
buknik95

Comments

Comment #0 by buknik95 — 2016-02-12T18:58:03Z
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'
Comment #1 by bitter.taste — 2017-01-17T19:45:30Z
Comment #2 by github-bugzilla — 2017-02-11T17:21:35Z
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/b2aa1ead04afb58e35513bfda439614125c656d4 Fix issue 15676 - Don't omit the attributes for the postblit constructor https://github.com/dlang/dmd/commit/1205ca40e87b11d4a5f4a6e09b2a16eb8c3956e9 Merge pull request #6463 from LemonBoy/b15676 Fix issue 15676 - Don't omit the attributes for the postblit constructor
Comment #3 by github-bugzilla — 2017-02-24T20:34:22Z
Commits pushed to newCTFE at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/b2aa1ead04afb58e35513bfda439614125c656d4 Fix issue 15676 - Don't omit the attributes for the postblit constructor https://github.com/dlang/dmd/commit/1205ca40e87b11d4a5f4a6e09b2a16eb8c3956e9 Merge pull request #6463 from LemonBoy/b15676
Comment #4 by github-bugzilla — 2017-03-22T12:21:20Z
Commits pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/b2aa1ead04afb58e35513bfda439614125c656d4 Fix issue 15676 - Don't omit the attributes for the postblit constructor https://github.com/dlang/dmd/commit/1205ca40e87b11d4a5f4a6e09b2a16eb8c3956e9 Merge pull request #6463 from LemonBoy/b15676