Understanding DIP 1000 semantics -- Where's the bug?
Mike Franklin
slavo5150 at yahoo.com
Sun Sep 22 07:54:12 UTC 2019
On Sunday, 22 September 2019 at 07:01:42 UTC, Sebastiaan Koppe
wrote:
> I think that taking a reference of a local variable should
> result in a scope T*.
>
> In that case `&value` in `y ~= getValue1(&value);` should
> result in a scope int*.
If that's the case then shouldn't Exhibit B (copied below for
convenience) require getValue2` to be `int getValue2(scope ref
int i)`? If not, what's the justification?
// Exhibit B
//--------------------------
int getValue2(ref int i)
{
return i;
}
int* foo2()
{
int value;
int[] y;
y ~= getValue2(value); // No error
return &y[0];
}
More information about the Digitalmars-d
mailing list