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.