FINALLY FIXED THE PROBLEM - was using set instead of set_single, so it set it's child as well, causing the type loop. Also, the binding replace child evaluated the parameters first, changing t's parent before t->parent->replace_child happened

This commit is contained in:
Nathan Braswell
2019-07-13 18:01:04 -04:00
parent 148d70e2d4
commit 2bc9ce497b
6 changed files with 166 additions and 62 deletions

View File

@@ -81,6 +81,11 @@ obj binding<T> (Object) {
}
}
}
fun set_single(to: T, epoch: binding_epoch) {
var p = new<T>()
p->copy_construct(&to)
set_single(p, epoch)
}
fun set_single(to: *T, epoch: binding_epoch) {
match (epoch) {
binding_epoch::pre_ref() { bound_to_pre_ref = to; }