summaryrefslogtreecommitdiff
path: root/crates/typst-library
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-library')
-rw-r--r--crates/typst-library/src/lib.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/typst-library/src/lib.rs b/crates/typst-library/src/lib.rs
index 4db377e9..bd135cdb 100644
--- a/crates/typst-library/src/lib.rs
+++ b/crates/typst-library/src/lib.rs
@@ -125,13 +125,13 @@ world_impl!(W for &W);
pub trait WorldExt {
/// Get the byte range for a span.
///
- /// Returns `None` if the `Span` does not point into any source file.
+ /// Returns `None` if the `Span` does not point into any file.
fn range(&self, span: Span) -> Option<Range<usize>>;
}
-impl<T: World> WorldExt for T {
+impl<T: World + ?Sized> WorldExt for T {
fn range(&self, span: Span) -> Option<Range<usize>> {
- self.source(span.id()?).ok()?.range(span)
+ span.range().or_else(|| self.source(span.id()?).ok()?.range(span))
}
}