February 17, 2012
> 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