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() {}