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