digitalmars.D - dtors in shared structs fail to compile
- Artur Skawina (19/36) Feb 17 2012 Similar to the above, but obviously a much bigger problem, especially
problem; this program compiles only when one of the lines marked with '*' is
commented out:
==================================
shared // *
struct S(T) {
T i;
disable this(this); // *
}
auto s1 = S!int(42);
void main() {
//auto s2 = s1;
}
==================================
Known bug?
Similar to the above, but obviously a much bigger problem, especially
as I haven't found any workaround yet...
==================================
shared // *
struct S(T) {
T i;
this(int v) {i=v;}
~this() {} // *
}
auto s1 = S!int(42);
void main() {
//auto s2 = s1;
}
==================================
Fails with "Error: destructor blah.S!(int).S.~this () shared is not callable
using argument types ()"
IIRC I actually ran into this in non-shared structs which had shared fields,
but the error messages were not exactly very informative and lacked any line
number info, so i can't really be sure it was the same problem.
artur
Feb 17 2012








Artur Skawina <art.08.09 gmail.com>