summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2025-07-09 15:40:22 +0200
committerGitHub <noreply@github.com>2025-07-09 13:40:22 +0000
commita45c3388a642d6d7321b5c5b684d3582e91cff41 (patch)
treea6d3b23985ece160a2edb29a002b476d27fa45b4
parentf9b01f595dba96044c725a97ecb4972bec7d57ed (diff)
More consistent `Packed<T>` to `Content` conversion methods (#6579)
-rw-r--r--crates/typst-library/src/foundations/content/packed.rs14
-rw-r--r--crates/typst-library/src/foundations/content/raw.rs2
2 files changed, 11 insertions, 5 deletions
diff --git a/crates/typst-library/src/foundations/content/packed.rs b/crates/typst-library/src/foundations/content/packed.rs
index 71bb66a9..e9916262 100644
--- a/crates/typst-library/src/foundations/content/packed.rs
+++ b/crates/typst-library/src/foundations/content/packed.rs
@@ -64,6 +64,16 @@ impl<T: NativeElement> Packed<T> {
self.0
}
+ /// Pack back into a reference to content.
+ pub fn pack_ref(&self) -> &Content {
+ &self.0
+ }
+
+ /// Pack back into a mutable reference to content.
+ pub fn pack_mut(&mut self) -> &mut Content {
+ &mut self.0
+ }
+
/// Extract the raw underlying element.
pub fn unpack(self) -> T {
// This function doesn't yet need owned self, but might in the future.
@@ -94,10 +104,6 @@ impl<T: NativeElement> Packed<T> {
pub fn set_location(&mut self, location: Location) {
self.0.set_location(location);
}
-
- pub fn as_content(&self) -> &Content {
- &self.0
- }
}
impl<T: NativeElement> AsRef<T> for Packed<T> {
diff --git a/crates/typst-library/src/foundations/content/raw.rs b/crates/typst-library/src/foundations/content/raw.rs
index f5dfffd7..dde26bd7 100644
--- a/crates/typst-library/src/foundations/content/raw.rs
+++ b/crates/typst-library/src/foundations/content/raw.rs
@@ -141,7 +141,7 @@ impl RawContent {
/// Clones a packed element into new raw content.
pub(super) fn clone_impl<E: NativeElement>(elem: &Packed<E>) -> Self {
- let raw = &elem.as_content().0;
+ let raw = &elem.pack_ref().0;
let header = raw.header();
RawContent::create(
elem.as_ref().clone(),