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

Michel Fortin michel.fortin at michelf.com
Thu Dec 17 05:35:31 PST 2009


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.

-- 
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/




More information about the Digitalmars-d mailing list