fn find_scope(&self) -> Range<T> {
        match self {
            Node::Leaf { start, end, .. } => *start..*end,
            Node::Intermediate { left, right, .. } => {
                let start = left.find_scope().start;
                let end = right.find_scope().end;
                start..end
            }
        }
    }
/// Calculates the scope of all descendants of this node.
Calculates the scope of all descendants of this node.
Calculates the scope of all descendants of this node .
fn find_scope(&self) -> Range<T> {
        match self {
            Node::Leaf { start, end, .. } => *start..*end,
            Node::Intermediate { left, right, .. } => {
                let start = left.find_scope().start;
                let end = right.find_scope().end;
                start..end
            }
        }
    }
fn find_scope ( & self ) -> Range < T > { match self { Node :: Leaf { start , end , .. } => * start .. * end , Node :: Intermediate { left , right , .. } => { let start = left . find_scope ( ) . start ; let end = right . find_scope ( ) . end ; start .. end } } }
Calculates the scope of all descendants of this node.
Calculates the scope of all descendants of this node .
&self
&self