fixed ctx
for closures
This commit is contained in:
parent
0aa8080461
commit
cc48cc1d24
@ -147,8 +147,7 @@ impl<'a, BT: BinaryTreesUnbalanced<'a> + BinaryTreesTryJoin<'a>> BinaryTreesTryJ
|
||||
tr: Self::Tree,
|
||||
) -> BTWrap<'a, Self, Self::Node> {
|
||||
let (hl, hr) = (self.0.height(&tl), self.0.height(&tr));
|
||||
let ctx = self.0.clone();
|
||||
self.0
|
||||
.balancing_bind(balanced(hl, hr), |_| ctx.try_join(tl, key, tr))
|
||||
.balancing_bind(balanced(hl, hr), |_| self.0.try_join(tl, key, tr))
|
||||
}
|
||||
}
|
||||
|
@ -71,11 +71,11 @@ impl<'a, BT: BinaryTreesBindable<'a>> BinaryTrees<'a> for BoundTrees<BT> {
|
||||
}
|
||||
|
||||
fn resolve(&self, reference: &Self::Reference) -> BTWrap<'a, Self, Self::Node> {
|
||||
let ctx = self.clone();
|
||||
let ctx = self.0.clone();
|
||||
let bounds = reference.bounds.clone();
|
||||
Self::bind(self.0.resolve(&reference.bound), move |node| {
|
||||
let (_, _, key) = ctx.0.split(&node);
|
||||
ctx.0.bounds_bind(
|
||||
let (_, _, key) = ctx.split(&node);
|
||||
ctx.bounds_bind(
|
||||
bounds.clone().split(&key, ctx.comparator()),
|
||||
|(boundsl, boundsr)| {
|
||||
Self::pure(BoundNode2 {
|
||||
|
Loading…
Reference in New Issue
Block a user