Is std.typecons.Rebindable ever going to work for this?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Dec 17 07:51:04 PST 2009


Michel Fortin wrote:
> I have a problem where I want to store rebindable references to other 
> objects, but I also want to ensure those objects are immutable. 
> Basically, the Rebindable template in std.typecons should do the job, 
> but it appears that it does not work with forward references...
> 
> Going further, I've made this simple test case and I'm left wondering if 
> there is a way for the compiler to make that work in the future. 
> Basically, the definition of each class depends on the other class. Can 
> the compiler instantiate a template using a partially defined class? One 
> of the template has to be instantiate before the other, obviously.
> 
> import std.typecons;
> 
> class A {
>     Rebindable!(const B) r;
> }
> 
> class B {
>     Rebindable!(const A) r;
> }
> 
> I'm not sure if I really want to use this pattern; this is just an 
> experiment I made. But it looks quite limiting not to be able to do that.
> 

This is a bug. Could you please file it in bugzilla?

Andrei



More information about the Digitalmars-d mailing list