blob: cfd078cdcd1189fd6e47310159489a4b88a5b3ea [file] [log] [blame]
module issue16020;
alias F1 = const(int)(); const(int) f1(){return 42;}
static assert (is(F1 == typeof(f1)));
alias F2 = float(float); float f2(float p){return p;}
static assert (is(F2 == typeof(f2)));
alias F3 = void(); void f3(){}
static assert (is(F3 == typeof(f3)));
alias void F41() @safe;
alias F42 = void() @safe;
alias F43 = @safe void();
static assert (is(F41 == F42));
static assert (is(F43 == F42));
alias void F51() @system;
alias F52 = void() @safe;
static assert (!is(F51 == F52));
alias F61 = int() const shared;
alias int F62() const shared ;
alias F63 = const shared int();
static assert (is(F61 == F62));
static assert (is(F63 == F62));
alias F71 = int() immutable inout;
alias int F72() immutable inout;
alias F73 = immutable inout int();
static assert (is(F71 == F72));
static assert (is(F73 == F72));
alias FunTemplate(T) = void(T t);
alias Specialized = FunTemplate!int;
alias Compared = void(int);
static assert(is(Specialized == Compared));
void main() {}