April 04, 2019
https://issues.dlang.org/show_bug.cgi?id=19787

          Issue ID: 19787
           Summary: Storage class type information is lost when used as
                    template parameter
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: simen.kjaras@gmail.com

void fun(ref int n) {}

unittest {
    import std.traits, std.meta;
    alias a = Parameters!fun;
    alias b = AliasSeq!(Parameters!fun);
    pragma(msg, a); // (ref int)
    pragma(msg, b); // (int)
}

As indicated, the two pragmas give different output.

This seems kinda related to issue 1818.

--