d不应限制&.
用-preview=dip1000开关
@safe:
void main()
{
int x;
int* a = &identity(x); // error
int* b = identity(x).addressOf; // workaround
}
ref int identity(return ref int x) {return x;}
int* addressOf(return ref int x) {return &x;}
用addressOf替换&来工作.
右值引用参数是调用函数前创建局部变量并传递其给函数参数的语法糖,所以应可正常工作.
浙公网安备 33010602011771号