On Sunday, 11 December 2022 at 04:36:45 UTC, thebluepandabear
wrote:
Hello,
I am not really understanding why rvalues cannot be passed to a
'ref' parameter, the explanation in the book about D I am
reading was not clear:
"The main reason for this limitation is the fact that a
function taking a ref
parameter can hold on to that reference for later use, at a
time when the rvalue
would not be available."
I didn't really understand what Ali meant by this statement,
any help would be appreciated so this can be clarified.
Regards,
thebluepandabear
You can if you compile with: ``-preview=rvaluerefparam``
I personally think this preview should be enabled by default
I use it all the time
```D
struct vec2{ float x; float y;}
void pass(const ref vec2 pos)
{}
void main()
{
pass( vec2(1,1) );
}
```
If you use dub:
```json
"dflags": [
"-preview=rvaluerefparam",
],
```