summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2025-07-05 14:23:48 +0200
committerGitHub <noreply@github.com>2025-07-05 12:23:48 +0000
commitd1deb80bb8b4d5fad348c23a3e079e4854aa57e4 (patch)
tree364ce69e49966aa7fd0077fb8aaaa70cea1f8ae5
parent88e451b3dc5c23f52d4fe69d1c6abb4ca9463b1a (diff)
Fix nightly warnings (#6558)
-rw-r--r--crates/typst-library/src/foundations/array.rs2
-rw-r--r--crates/typst-library/src/foundations/dict.rs2
-rw-r--r--crates/typst-library/src/layout/container.rs16
-rw-r--r--crates/typst-library/src/layout/fragment.rs4
-rw-r--r--crates/typst-library/src/text/mod.rs2
5 files changed, 20 insertions, 6 deletions
diff --git a/crates/typst-library/src/foundations/array.rs b/crates/typst-library/src/foundations/array.rs
index 11c2220d..87a30104 100644
--- a/crates/typst-library/src/foundations/array.rs
+++ b/crates/typst-library/src/foundations/array.rs
@@ -94,7 +94,7 @@ impl Array {
}
/// Iterate over references to the contained values.
- pub fn iter(&self) -> std::slice::Iter<Value> {
+ pub fn iter(&self) -> std::slice::Iter<'_, Value> {
self.0.iter()
}
diff --git a/crates/typst-library/src/foundations/dict.rs b/crates/typst-library/src/foundations/dict.rs
index c93670c1..ba161f44 100644
--- a/crates/typst-library/src/foundations/dict.rs
+++ b/crates/typst-library/src/foundations/dict.rs
@@ -114,7 +114,7 @@ impl Dict {
}
/// Iterate over pairs of references to the contained keys and values.
- pub fn iter(&self) -> indexmap::map::Iter<Str, Value> {
+ pub fn iter(&self) -> indexmap::map::Iter<'_, Str, Value> {
self.0.iter()
}
diff --git a/crates/typst-library/src/layout/container.rs b/crates/typst-library/src/layout/container.rs
index 725f177b..fc27644e 100644
--- a/crates/typst-library/src/layout/container.rs
+++ b/crates/typst-library/src/layout/container.rs
@@ -497,7 +497,8 @@ mod callbacks {
macro_rules! callback {
($name:ident = ($($param:ident: $param_ty:ty),* $(,)?) -> $ret:ty) => {
- #[derive(Debug, Clone, PartialEq, Hash)]
+ #[derive(Debug, Clone, Hash)]
+ #[allow(clippy::derived_hash_with_manual_eq)]
pub struct $name {
captured: Content,
f: fn(&Content, $($param_ty),*) -> $ret,
@@ -535,6 +536,19 @@ mod callbacks {
(self.f)(&self.captured, $($param),*)
}
}
+
+ impl PartialEq for $name {
+ fn eq(&self, other: &Self) -> bool {
+ // Comparing function pointers is problematic. Since for
+ // each type of content, there is typically just one
+ // callback, we skip it. It barely matters anyway since
+ // getting into a comparison codepath for inline & block
+ // elements containing callback bodies is close to
+ // impossible (as these are generally generated in show
+ // rules).
+ self.captured.eq(&other.captured)
+ }
+ }
};
}
diff --git a/crates/typst-library/src/layout/fragment.rs b/crates/typst-library/src/layout/fragment.rs
index c2666115..dd28191c 100644
--- a/crates/typst-library/src/layout/fragment.rs
+++ b/crates/typst-library/src/layout/fragment.rs
@@ -47,12 +47,12 @@ impl Fragment {
}
/// Iterate over the contained frames.
- pub fn iter(&self) -> std::slice::Iter<Frame> {
+ pub fn iter(&self) -> std::slice::Iter<'_, Frame> {
self.0.iter()
}
/// Iterate over the contained frames.
- pub fn iter_mut(&mut self) -> std::slice::IterMut<Frame> {
+ pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, Frame> {
self.0.iter_mut()
}
}
diff --git a/crates/typst-library/src/text/mod.rs b/crates/typst-library/src/text/mod.rs
index b1e381cb..230f8e50 100644
--- a/crates/typst-library/src/text/mod.rs
+++ b/crates/typst-library/src/text/mod.rs
@@ -936,7 +936,7 @@ cast! {
}
/// Resolve a prioritized iterator over the font families.
-pub fn families(styles: StyleChain) -> impl Iterator<Item = &FontFamily> + Clone {
+pub fn families(styles: StyleChain<'_>) -> impl Iterator<Item = &'_ FontFamily> + Clone {
let fallbacks = singleton!(Vec<FontFamily>, {
[
"libertinus serif",