https://issues.dlang.org/show_bug.cgi?id=9149

--- Comment #13 from timon.g...@gmx.ch ---
(In reply to Steven Schveighoffer from comment #12)
> Yes I see.
> 
> The issue is the conversion of the delegate type, when the context pointer
> is changed to const (but you didn't change the function pointer, so it still
> assumes it's argument is mutable).
> 
> I agree with you.
> 
> So basically, any struct or class instance cannot convert to const (or via
> pure constructor to immutable)

Do you have an example where conversion to immutable for a strongly pure
constructor leads to problems?

> if it contains a non-const delegate. Yuck,
> but I think we have to do that.

We can't (for class references, you never know whether some subclass might have
a mutable delegate field). We need to do something else, but all options I have
proposed so far are quite ugly (or become ugly when considering all the details
required to make them work), so I'm open to different proposals.

--

Reply via email to