diff options
Diffstat (limited to 'crates/typst-syntax/src/node.rs')
| -rw-r--r-- | crates/typst-syntax/src/node.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/typst-syntax/src/node.rs b/crates/typst-syntax/src/node.rs index 8e4e056e..77c73f58 100644 --- a/crates/typst-syntax/src/node.rs +++ b/crates/typst-syntax/src/node.rs @@ -202,7 +202,7 @@ impl SyntaxNode { return Err(Unnumberable); } - let mid = Span::new(id, (within.start + within.end) / 2); + let mid = Span::new(id, (within.start + within.end) / 2).unwrap(); match &mut self.0 { Repr::Leaf(leaf) => leaf.span = mid, Repr::Inner(inner) => Arc::make_mut(inner).numberize(id, None, within)?, @@ -424,7 +424,7 @@ impl InnerNode { let mut start = within.start; if range.is_none() { let end = start + stride; - self.span = Span::new(id, (start + end) / 2); + self.span = Span::new(id, (start + end) / 2).unwrap(); self.upper = within.end; start = end; } @@ -448,6 +448,7 @@ impl InnerNode { mut range: Range<usize>, replacement: Vec<SyntaxNode>, ) -> NumberingResult { + let Some(id) = self.span.id() else { return Err(Unnumberable) }; let superseded = &self.children[range.clone()]; // Compute the new byte length. @@ -505,7 +506,6 @@ impl InnerNode { // Try to renumber. let within = start_number..end_number; - let id = self.span.id(); if self.numberize(id, Some(renumber), within).is_ok() { return Ok(()); } |
