// REQUIRED_ARGS: -preview=rvaluerefparam | |
struct Foo | |
{ | |
int[] a; | |
} | |
void bar (T) (const ref T arg) {} | |
T foo (T) (ref T arg) { return arg; } | |
void goo()(ref long x) { x = 1; } | |
void main () | |
{ | |
bar(Foo([42])); | |
auto x = foo(Foo([42])); | |
int y; | |
static assert(!__traits(compiles, goo(y))); | |
} |