On Monday, 30 May 2016 at 21:32:46 UTC, Alex Parrill wrote:
On Monday, 30 May 2016 at 10:09:19 UTC, chmike wrote:

Why can't info() return a Rebindable!(immutable(InfoImpl)) ?

What do you mean? `info` returns an `immutable(InfoImpl)`, not a `Rebindable!(immutable(InfoImpl))`. Rebindable doesn't apply itself to the return types of the methods of the return types (there's no reason to).

I mean that if I change the return type of info() into Rebindable!(immutable(infoImpl)) like this

Rebindable!(immutable(InfoImpl)) info() { ... return rebindable(x);}

I get an error. I was explained privately that its because Rebindable... Is an lvalue and not a type.

My conclusion is that rebindable is not a satisfying solution to have mutable references to immutable objects.

I don't understand the rationale of these immutable references. It is too constraining.

Reply via email to