Fix clippy

This commit is contained in:
Laurenz Stampfl 2025-03-10 14:41:17 +01:00
parent a5203e3c69
commit 69076bfd87
3 changed files with 140 additions and 45 deletions

179
Cargo.lock generated
View File

@ -217,6 +217,20 @@ name = "bytemuck"
version = "1.21.0" version = "1.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"
dependencies = [
"bytemuck_derive",
]
[[package]]
name = "bytemuck_derive"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "byteorder" name = "byteorder"
@ -749,6 +763,15 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
[[package]]
name = "float-cmp"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8"
dependencies = [
"num-traits",
]
[[package]] [[package]]
name = "fnv" name = "fnv"
version = "1.0.7" version = "1.0.7"
@ -761,6 +784,15 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f"
[[package]]
name = "font-types"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d868ec188a98bb014c606072edd47e52e7ab7297db943b0b28503121e1d037bd"
dependencies = [
"bytemuck",
]
[[package]] [[package]]
name = "fontconfig-parser" name = "fontconfig-parser"
version = "0.5.7" version = "0.5.7"
@ -966,7 +998,7 @@ checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
dependencies = [ dependencies = [
"displaydoc", "displaydoc",
"serde", "serde",
"yoke", "yoke 0.7.5",
"zerofrom", "zerofrom",
"zerovec", "zerovec",
] ]
@ -1064,7 +1096,7 @@ dependencies = [
"stable_deref_trait", "stable_deref_trait",
"tinystr", "tinystr",
"writeable", "writeable",
"yoke", "yoke 0.7.5",
"zerofrom", "zerofrom",
"zerovec", "zerovec",
] ]
@ -1310,6 +1342,38 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "krilla"
version = "0.3.0"
source = "git+https://github.com/LaurenzV/krilla?rev=e7006f2#e7006f2f0ba598bbe426e8d63306fb2e007c4988"
dependencies = [
"base64",
"bumpalo",
"comemo",
"flate2",
"float-cmp 0.10.0",
"fontdb",
"gif",
"image-webp",
"imagesize",
"miniz_oxide",
"once_cell",
"pdf-writer",
"rayon",
"resvg",
"rustybuzz",
"siphasher",
"skrifa",
"subsetter",
"tiny-skia",
"tiny-skia-path",
"usvg",
"xmp-writer",
"yoke 0.8.0",
"zune-jpeg",
"zune-png",
]
[[package]] [[package]]
name = "kurbo" name = "kurbo"
version = "0.11.1" version = "0.11.1"
@ -1738,9 +1802,8 @@ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
[[package]] [[package]]
name = "pdf-writer" name = "pdf-writer"
version = "0.12.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/LaurenzV/pdf-writer?rev=f95a19c#f95a19c07a1b3e3ee021c1199e91f19badb57d46"
checksum = "5df03c7d216de06f93f398ef06f1385a60f2c597bb96f8195c8d98e08a26b1d5"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"itoa", "itoa",
@ -1997,6 +2060,16 @@ dependencies = [
"crossbeam-utils", "crossbeam-utils",
] ]
[[package]]
name = "read-fonts"
version = "0.27.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f004ee5c610b8beb5f33273246893ac6258ec22185a6eb8ee132bccdb904cdaa"
dependencies = [
"bytemuck",
"font-types",
]
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.5.8" version = "0.5.8"
@ -2315,6 +2388,16 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
[[package]]
name = "skrifa"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16e7936ca3627fdb516e97aca3c8ab5103f94ae32fe5ce80a0a02edcbacb7b53"
dependencies = [
"bytemuck",
"read-fonts",
]
[[package]] [[package]]
name = "slotmap" name = "slotmap"
version = "1.0.7" version = "1.0.7"
@ -2361,7 +2444,7 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
dependencies = [ dependencies = [
"float-cmp", "float-cmp 0.9.0",
] ]
[[package]] [[package]]
@ -2405,28 +2488,7 @@ dependencies = [
[[package]] [[package]]
name = "subsetter" name = "subsetter"
version = "0.2.0" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/typst/subsetter?rev=172416a#172416a806246e6e9010d400d5690ca7a026e53d"
checksum = "74f98178f34057d4d4de93d68104007c6dea4dfac930204a69ab4622daefa648"
[[package]]
name = "svg2pdf"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e50dc062439cc1a396181059c80932a6e6bd731b130e674c597c0c8874b6df22"
dependencies = [
"fontdb",
"image",
"log",
"miniz_oxide",
"once_cell",
"pdf-writer",
"resvg",
"siphasher",
"subsetter",
"tiny-skia",
"ttf-parser",
"usvg",
]
[[package]] [[package]]
name = "svgtypes" name = "svgtypes"
@ -3017,26 +3079,17 @@ dependencies = [
name = "typst-pdf" name = "typst-pdf"
version = "0.13.1" version = "0.13.1"
dependencies = [ dependencies = [
"arrayvec",
"base64",
"bytemuck", "bytemuck",
"comemo", "comemo",
"ecow", "ecow",
"image", "image",
"indexmap 2.7.1", "krilla",
"miniz_oxide",
"pdf-writer",
"serde",
"subsetter",
"svg2pdf",
"ttf-parser",
"typst-assets", "typst-assets",
"typst-library", "typst-library",
"typst-macros", "typst-macros",
"typst-syntax", "typst-syntax",
"typst-timing", "typst-timing",
"typst-utils", "typst-utils",
"xmp-writer",
] ]
[[package]] [[package]]
@ -3661,8 +3714,7 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
[[package]] [[package]]
name = "xmp-writer" name = "xmp-writer"
version = "0.3.1" version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/LaurenzV/xmp-writer?rev=a1cbb887#a1cbb887a84376fea4d7590d41c194a332840549"
checksum = "7eb5954c9ca6dcc869e98d3e42760ed9dab08f3e70212b31d7ab8ae7f3b7a487"
[[package]] [[package]]
name = "xz2" name = "xz2"
@ -3700,7 +3752,19 @@ checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
dependencies = [ dependencies = [
"serde", "serde",
"stable_deref_trait", "stable_deref_trait",
"yoke-derive", "yoke-derive 0.7.5",
"zerofrom",
]
[[package]]
name = "yoke"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
dependencies = [
"serde",
"stable_deref_trait",
"yoke-derive 0.8.0",
"zerofrom", "zerofrom",
] ]
@ -3716,6 +3780,18 @@ dependencies = [
"synstructure", "synstructure",
] ]
[[package]]
name = "yoke-derive"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
dependencies = [
"proc-macro2",
"quote",
"syn",
"synstructure",
]
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
version = "0.7.35" version = "0.7.35"
@ -3777,7 +3853,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
dependencies = [ dependencies = [
"serde", "serde",
"yoke", "yoke 0.7.5",
"zerofrom", "zerofrom",
"zerovec-derive", "zerovec-derive",
] ]
@ -3830,6 +3906,15 @@ version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
[[package]]
name = "zune-inflate"
version = "0.2.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
dependencies = [
"simd-adler32",
]
[[package]] [[package]]
name = "zune-jpeg" name = "zune-jpeg"
version = "0.4.14" version = "0.4.14"
@ -3838,3 +3923,13 @@ checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028"
dependencies = [ dependencies = [
"zune-core", "zune-core",
] ]
[[package]]
name = "zune-png"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d29c085769c6f29effea890f093120ac019375fdc789d2a496ba8ba96c77509"
dependencies = [
"zune-core",
"zune-inflate",
]

View File

@ -53,7 +53,7 @@ pub fn convert(
); );
convert_pages(&mut gc, &mut document)?; convert_pages(&mut gc, &mut document)?;
embed_files(&typst_document, &mut document)?; embed_files(typst_document, &mut document)?;
document.set_outline(build_outline(&gc)); document.set_outline(build_outline(&gc));
document.set_metadata(build_metadata(&gc)); document.set_metadata(build_metadata(&gc));

View File

@ -67,7 +67,7 @@ pub(crate) fn build_outline(gc: &GlobalContext) -> Outline {
// (not exceeding whichever is the most restrictive depth limit // (not exceeding whichever is the most restrictive depth limit
// of those two). // of those two).
while children.last().is_some_and(|last| { while children.last().is_some_and(|last| {
last_skipped_level.map_or(true, |l| last.level < l) last_skipped_level.is_none_or(|l| last.level < l)
&& last.level < leaf.level && last.level < leaf.level
}) { }) {
children = &mut children.last_mut().unwrap().children; children = &mut children.last_mut().unwrap().children;
@ -80,7 +80,7 @@ pub(crate) fn build_outline(gc: &GlobalContext) -> Outline {
// needed, following the usual rules listed above. // needed, following the usual rules listed above.
last_skipped_level = None; last_skipped_level = None;
children.push(leaf); children.push(leaf);
} else if last_skipped_level.map_or(true, |l| leaf.level < l) { } else if last_skipped_level.is_none_or(|l| leaf.level < l) {
// Only the topmost / lowest-level skipped heading matters when you // Only the topmost / lowest-level skipped heading matters when you
// have consecutive skipped headings (since none of them are being // have consecutive skipped headings (since none of them are being
// added to the bookmark tree), hence the condition above. // added to the bookmark tree), hence the condition above.