// PERMUTE_ARGS: // REQUIRED_ARGS: -o- /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=6719 static assert(__traits(compiles, mixin("(const(A))[0..0]")) == false); /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=9232 struct Foo9232 { void bar(T)() {} void baz() {} } void test9232() { Foo9232 foo; (foo).bar!int(); // OK <- Error: found '!' when expecting ';' following statement ((foo)).bar!int(); // OK foo.bar!int(); // OK (foo).baz(); // OK } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=9401 struct S9401a { ~this() nothrow pure @safe { } } struct S9401b { @safe ~this() pure nothrow { } } void test9401() nothrow pure @safe { S9401a s1; S9401b s2; } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=9649 class Outer9649 { class Inner { } } void test9649() { Outer9649 outer9649; (outer9649).new Inner(); } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=9679 void test9679(inout int = 0) { if ( auto n = 1) { static assert(is(typeof(n) == int)); } if ( const n = 1) { static assert(is(typeof(n) == const int)); } if ( immutable n = 1) { static assert(is(typeof(n) == immutable int)); } if (shared n = 1) { static assert(is(typeof(n) == shared int)); } if (shared const n = 1) { static assert(is(typeof(n) == shared const int)); } if ( inout n = 1) { static assert(is(typeof(n) == inout int)); } if (shared inout n = 1) { static assert(is(typeof(n) == shared inout int)); } if ( const int n = 1) { static assert(is(typeof(n) == const int)); } if ( immutable int n = 1) { static assert(is(typeof(n) == immutable int)); } if (shared int n = 1) { static assert(is(typeof(n) == shared int)); } if (shared const int n = 1) { static assert(is(typeof(n) == shared const int)); } if ( inout int n = 1) { static assert(is(typeof(n) == inout int)); } if (shared inout int n = 1) { static assert(is(typeof(n) == shared inout int)); } if ( const(int) n = 1) { static assert(is(typeof(n) == const int)); } if ( immutable(int) n = 1) { static assert(is(typeof(n) == immutable int)); } if (shared (int) n = 1) { static assert(is(typeof(n) == shared int)); } if (shared const(int) n = 1) { static assert(is(typeof(n) == shared const int)); } if ( inout(int) n = 1) { static assert(is(typeof(n) == inout int)); } if (shared inout(int) n = 1) { static assert(is(typeof(n) == shared inout int)); } if (immutable(int)[] n = [1]) { static assert(is(typeof(n) == immutable(int)[])); } } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=9901 template isGood9901(T) { enum isGood9901 = true; } void test9901() { string foo(R)(R data) if (isGood9901!R) { return ""; } foo(1); } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=10199 void test10199() { goto label; label: } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=12460 void f12460(T)() { static if (is(T == int)) { goto end; } end: } void test12460() { f12460!int(); } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=11689 void test11689() { deprecated void foo() {} } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=11751 static assert(is(float == typeof(0x0.1p1F))); /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=11957 extern(C++) class C11957 { void x() {} } void test11957() { extern(C++) class D : C11957 { override void x() {} } } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=13049 enum mangle13049(T) = T.mangleof; alias FP13049 = void function(scope int); // OK static assert(mangle13049!FP13049 == mangle13049!(void function(scope int))); // OK <- NG /***************************************************/ // was not covered until the **12th of March 2019** void testIfConditionWithSTCandType() { auto call(){return 0;} if (const size_t i = call()) {} } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=20791 extern(C++, "foo", ) struct S {} /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=22019 void test22019() { final switch (1) { case 1,: case 2,3,: break; } } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=23205 void test23205() { mixin template tpl() { int x; } mixin tpl!(); x = 123; }