Compare commits

..

7 Commits

Author SHA1 Message Date
mkorje
30b98e75e7
Add test 2025-07-07 13:01:06 +10:00
mkorje
2c1976d4ea
Update docs 2025-07-07 13:01:04 +10:00
mkorje
4b13abc728
Add math.scr 2025-07-07 13:01:01 +10:00
mkorje
b37f57bdec
Move math styling to codex 2025-07-07 13:00:57 +10:00
Laurenz
d1deb80bb8
Fix nightly warnings (#6558) 2025-07-05 12:23:48 +00:00
Andrew Voynov
88e451b3dc
Fix typo in PackageStorage (#6556) 2025-07-04 17:02:02 +00:00
Tobias Schmitz
cc3a68ecb1
Remove duplicate language computation (#6557) 2025-07-04 17:00:45 +00:00
7 changed files with 21 additions and 9 deletions

View File

@ -199,7 +199,7 @@ impl PackageStorage {
// The place at which the specific package version will live in the end. // The place at which the specific package version will live in the end.
let package_dir = base_dir.join(format!("{}", spec.version)); let package_dir = base_dir.join(format!("{}", spec.version));
// To prevent multiple Typst instances from interferring, we download // To prevent multiple Typst instances from interfering, we download
// into a temporary directory first and then move this directory to // into a temporary directory first and then move this directory to
// its final destination. // its final destination.
// //

View File

@ -94,7 +94,7 @@ impl Array {
} }
/// Iterate over references to the contained values. /// 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() self.0.iter()
} }

View File

@ -114,7 +114,7 @@ impl Dict {
} }
/// Iterate over pairs of references to the contained keys and values. /// 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() self.0.iter()
} }

View File

@ -497,7 +497,8 @@ mod callbacks {
macro_rules! callback { macro_rules! callback {
($name:ident = ($($param:ident: $param_ty:ty),* $(,)?) -> $ret:ty) => { ($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 { pub struct $name {
captured: Content, captured: Content,
f: fn(&Content, $($param_ty),*) -> $ret, f: fn(&Content, $($param_ty),*) -> $ret,
@ -535,6 +536,19 @@ mod callbacks {
(self.f)(&self.captured, $($param),*) (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)
}
}
}; };
} }

View File

@ -47,12 +47,12 @@ impl Fragment {
} }
/// Iterate over the contained frames. /// Iterate over the contained frames.
pub fn iter(&self) -> std::slice::Iter<Frame> { pub fn iter(&self) -> std::slice::Iter<'_, Frame> {
self.0.iter() self.0.iter()
} }
/// Iterate over the contained frames. /// 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() self.0.iter_mut()
} }
} }

View File

@ -936,7 +936,7 @@ cast! {
} }
/// Resolve a prioritized iterator over the font families. /// 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>, { let fallbacks = singleton!(Vec<FontFamily>, {
[ [
"libertinus serif", "libertinus serif",

View File

@ -22,8 +22,6 @@ pub(crate) fn build_metadata(gc: &GlobalContext) -> Metadata {
.keywords(gc.document.info.keywords.iter().map(EcoString::to_string).collect()) .keywords(gc.document.info.keywords.iter().map(EcoString::to_string).collect())
.authors(gc.document.info.author.iter().map(EcoString::to_string).collect()); .authors(gc.document.info.author.iter().map(EcoString::to_string).collect());
let lang = gc.languages.iter().max_by_key(|(_, &count)| count).map(|(&l, _)| l);
if let Some(lang) = lang { if let Some(lang) = lang {
metadata = metadata.language(lang.as_str().to_string()); metadata = metadata.language(lang.as_str().to_string());
} }