From be7cfc85d08c545abfac08098b7b33b4bd71f37e Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sun, 27 Oct 2024 19:04:55 +0100 Subject: Split out four new crates (#5302) --- crates/typst-syntax/src/span.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'crates/typst-syntax/src/span.rs') diff --git a/crates/typst-syntax/src/span.rs b/crates/typst-syntax/src/span.rs index 85745f60..0847ceea 100644 --- a/crates/typst-syntax/src/span.rs +++ b/crates/typst-syntax/src/span.rs @@ -83,6 +83,20 @@ impl Span { self.0.get() & ((1 << Self::BITS) - 1) } + /// Construct from a raw number. + /// + /// Should only be used with numbers retrieved via + /// [`into_raw`](Self::into_raw). Misuse may results in panics, but no + /// unsafety. + pub const fn from_raw(v: NonZeroU64) -> Self { + Self(v) + } + + /// Extract the raw underlying number. + pub const fn into_raw(self) -> NonZeroU64 { + self.0 + } + /// Return `other` if `self` is detached and `self` otherwise. pub fn or(self, other: Self) -> Self { if self.is_detached() { -- cgit v1.2.3