https://digitalmars.com/d/archives/digitalmars/D/Transitive_...
> Do pass expensive types by const reference. Consider `foo(T t)` where `foo` takes ownership of `T` and allows move semantics, but there is risk of copy if `t` is not an r-value reference.
https://digitalmars.com/d/archives/digitalmars/D/Transitive_...
> Do pass expensive types by const reference. Consider `foo(T t)` where `foo` takes ownership of `T` and allows move semantics, but there is risk of copy if `t` is not an r-value reference.