d: Merge upstream dmd 568496d5b, druntime 178c44ff, phobos 574bf883b.
[official-gcc.git] / gcc / testsuite / gdc.test / compilable / issue16020.d
blobcfd078cdcd1189fd6e47310159489a4b88a5b3ea
1 module issue16020;
3 alias F1 = const(int)(); const(int) f1(){return 42;}
4 static assert (is(F1 == typeof(f1)));
6 alias F2 = float(float); float f2(float p){return p;}
7 static assert (is(F2 == typeof(f2)));
9 alias F3 = void(); void f3(){}
10 static assert (is(F3 == typeof(f3)));
12 alias void F41() @safe;
13 alias F42 = void() @safe;
14 alias F43 = @safe void();
15 static assert (is(F41 == F42));
16 static assert (is(F43 == F42));
18 alias void F51() @system;
19 alias F52 = void() @safe;
20 static assert (!is(F51 == F52));
22 alias F61 = int() const shared;
23 alias int F62() const shared ;
24 alias F63 = const shared int();
25 static assert (is(F61 == F62));
26 static assert (is(F63 == F62));
28 alias F71 = int() immutable inout;
29 alias int F72() immutable inout;
30 alias F73 = immutable inout int();
31 static assert (is(F71 == F72));
32 static assert (is(F73 == F72));
34 alias FunTemplate(T) = void(T t);
35 alias Specialized = FunTemplate!int;
36 alias Compared = void(int);
37 static assert(is(Specialized == Compared));
39 void main() {}