Hello. I realize the wording "non-const method" is probably a C++-ism but please see the following code. In both C++ and D, the compilers are complaining only when I try to assign directly to the member of an rvalue, but if I try to assign via a non-const ref returned by a non-const method, then it's apparently fine?!! At least shouldn't D prohibit this? [Yet another case of rvalue refs being allowed to escape?]
nonconst.d: -- struct Pair { int x, y ; ref Pair handle() { return this ; } } void main () { Pair(1, 2).x = 5 ; Pair(1, 2).handle.x = 5 ; } -- nonconst.cpp: -- struct Pair { int x, y ; Pair(int x, int y) : x(x), y(y) {} Pair & handle() { return *this ; } } ; int main () { Pair(1, 2).x = 5 ; Pair(1, 2).handle().x = 5 ; } -- Shriramana Sharma ஶ்ரீரமணஶர்மா श्रीरमणशर्मा