On 24 April 2013 04:44, Walter Bright <newshou...@digitalmars.com> wrote:

> On 4/23/2013 8:33 AM, Manu wrote:
>
>> "The r-value being passed is assigned to a stack allocated temporary,
>> which has
>> a lifetime that is identical to any other local variable, ie, the
>> lifetime of
>> the function in which it appears."
>> There, I defined it.
>>
>
> Locals have a lifetime that is terminated by the closing } of the scope
> they appear in. There can be many such scopes in a function.
>
> There's also the issue of:
>
>   a || b || c
>
> If b creates a temporary, it's life ends at the end of the expression or
> statement - it's complicated.
>

Is it actually complicated?
Enclosing scope seems fine too. Can you suggest a case where it could
escalate to an outer scope via a scope-ref argument?
So let's say then, that lifetime should be identical to a local declared in
the same location. No change of any rules is required, it will work as
expected.

Reply via email to