// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100882 // { dg-additional-options "-fmain" } // { dg-do run } __gshared int counter = 0; struct S100882 { this(int) { counter++; } ~this() { counter++; } } static S100882 s; static this() { s = cast(shared) S100882(0); assert(counter == 2); } auto test100882() { return cast(shared) S100882(0); }