more concrete BoundsError
This commit is contained in:
parent
e568f70875
commit
4d635e9e6a
@ -10,7 +10,8 @@ pub struct Bounds<A> {
|
||||
|
||||
pub enum BoundsError<A> {
|
||||
BoundsViolated { l: A, r: A },
|
||||
CannotJoin(A),
|
||||
OverflowL(A),
|
||||
OverflowR(A),
|
||||
}
|
||||
|
||||
impl<A: Clone> Bounds<A> {
|
||||
@ -60,12 +61,12 @@ impl<A: Clone> Bounds<A> {
|
||||
if let Some(lr) = &l.r {
|
||||
Self::ordered(lr, key, comparator)?
|
||||
} else {
|
||||
Err(BoundsError::CannotJoin(key.clone()))?
|
||||
Err(BoundsError::OverflowL(key.clone()))?
|
||||
}
|
||||
if let Some(rl) = &r.l {
|
||||
Self::ordered(key, rl, comparator)?
|
||||
} else {
|
||||
Err(BoundsError::CannotJoin(key.clone()))?
|
||||
Err(BoundsError::OverflowR(key.clone()))?
|
||||
}
|
||||
Self::new(l.l, r.r, comparator)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user