On Monday, 30 January 2017 at 19:05:33 UTC, Q. Schroll wrote:
Can't we make "in" mean "const scope ref", that binds on r-values, too? Effectively, that's (similar to) what "const T&" in C++ means. It's a non-copying const view on the object.

'ref' being separate from 'in' allows you to use both:

foo(in ref T x);
foo(in T* x);

However, I agree that 'in' should be the opposite of 'out' (const scope ref). Making the 'in' and 'out' keywords semantically asymmetrical just to save a few key strokes is dumb.

We have the longstanding problem, one must overload a function to effectively bind both l- and r-values. That is what I'd suppose to be the dual to "out".

+1 on allowing rvalue to bind to 'const scope ref'...or 'in' done right.

Reply via email to