Summary: ref binds to rvalues of user-defined types
           Product: D
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD

struct Struct {}
alias Struct T;
//alias int T;

T fun() { return T(); }
void gun(ref T) {}
void main()

The code compiles and it shouldn't. ref should never bind to rvalues. Currently
indeed it doesn't bind to rvalues of built-in type (e.g. if the alias above is
switched from Struct to int the code won't compile).


Reply via email to