[SAoC] Move semantics and STL containers

Suleyman sahmi.soulaimane at gmail.com
Sat Oct 5 20:22:00 UTC 2019

Week 3 status:

   - `@rvalue` / `__rvalue` type constructor[1]:
     - implemented runtime type info[1][2]
     - `auto ref` infers `@rvalue`
       - `auto @rvalue ref` parameters expand to either `ref` or 
`@rvalue ref`
       - `auto ref` parameters retain their current behavior
       - `auto ref` returns infer all three options `ref`, 
`@rvalue ref`, and value.
     - implemented semantic for default arguments
     - implicit conversion is unidirectional, only from `@rvalue` 
to non `@rvalue` is allowed.
     - rvalue expressions are implicitly convertible to `@rvalue`
     - finding the common type of a binary expression is now aware 
of `@rvalue`
       - if both operands are `@rvalue` the result if `@rvalue`
       - else it's not `@rvalue`

[1] https://github.com/dlang/dmd/pull/10426
[2] https://github.com/dlang/druntime/pull/2814

More information about the Digitalmars-d mailing list