On Sunday 06 February 2011 13:55:36 Tomek Sowiński wrote:
> ... doesn't work.
> 
> class C {}
> thisTid.send(new immutable(C)());
> receive((immutable C) { writeln("got it!"); });
> 
> This throws:
> core.exception.AssertError@/usr/include/d/dmd/phobos/std/variant.d(285):
> immutable(C)
> 
> And when I go for Rebindable, I get "Aliases to mutable thread-local data
> not allowed.".
> 
> Is there anything I can do?
> 
> Overall, I think that's another reason D needs native tail const badly.
> Polymorphic classes are close to being second class citizens just as soon
> const enters. :(

Open a bug report on it. There are a number of bugs relating to const and 
immutable - some of which are library-related and some of which need to be 
fixed 
in the compiler. Until many of those get sorted out, I wouldn't expect using 
immutable classes to work very well beyond some very basic cases.

- Jonathan M Davis

Reply via email to