Bug 9899 – struct with pure/nothrow destructor cannot be used as a struct member in pure/nothrow functions
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-04-07T10:31:00Z
Last change time
2013-04-10T23:47:00Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
henning
Comments
Comment #0 by henning — 2013-04-07T10:31:36Z
struct S {
nothrow pure ~this() {
}
}
struct MemberS {
S s;
}
void main() nothrow pure { // 10
MemberS s; // 11
}
-----
main.d(11): Error: pure function 'D main' cannot call impure function 'main.MemberS.~this'
main.d(11): Error: s.~this is not nothrow
main.d(10): Error: function D main 'main' is nothrow yet may throw
-----
Note: When the destructor is removed, everything works just fine.