On Wednesday, 23 September 2020 at 00:06:38 UTC, DlangUser38 wrote:
Hmm, why would `b` have longer lifetime? Isn't the lifetime of `b` throughout `bar`?

The following analysis might be wrong but I think that `scope` as a **member** function attribute is not supposed to be used as that is not even documented.

Where's the other scope analysis documented?

So it would works "by default". The compiler thinks that `this` is a scope variable that will stop living after `bar()`.

So are you saying that this code should compile with and without the member being `scope`?

Also as `b` is not `ref` this is clearly a wrong diagnostic. There's a special case missing in the compiler.

Reply via email to