`in` parameters made useful

Mathias LANG geod24 at gmail.com
Fri Aug 21 06:46:27 UTC 2020


On Thursday, 20 August 2020 at 22:19:16 UTC, Andrei Alexandrescu 
wrote:
> On 8/20/20 1:31 PM, IGotD- wrote:
>> This is interesting on a general level as well and true for 
>> several programming languages. Let the compiler optimize the 
>> parameter passing unless the programmer explicitly ask for a 
>> certain way (copy object, pointer/reference etc.).
>
> This has been discussed a few times. If mutation is allowed, 
> aliasing is a killer:
>
> void fun(ref S a, const compiler_chooses S b) {
>     ... mutate a, read b ...
> }
>
> S x;
> fun(x, x); // oops
>
> The problem now is that the semantics of fun depends on whether 
> the compiler chose pass by value vs. pass by reference.

Isn't that what Walter's OB system is supposed to address ?


More information about the Digitalmars-d mailing list