On Friday, 25 September 2020 at 14:21:59 UTC, Steven Schveighoffer wrote:
in does not mean "take by reference", it means "scope const"

I'm not sure that I really understand scope, but I read https://dlang.org/spec/function.html#param-storage as saying "in means take by value or reference depending on what is better optimized". Is that not what we want here?

It depends on if you want to return a copy. If you want to return a reference if the source is a reference, use auto ref on the return as well. But if you still want to protect the internal data, it would have to be const.

Right, again I'm wondering if there is a way of saying "just figure out if it's more optimal to return by value or const reference".

Reply via email to