summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarge Bot <marge-bot@gnome.org>2023-02-09 00:54:28 +0000
committerMarge Bot <marge-bot@gnome.org>2023-02-09 00:54:28 +0000
commit6054a7634fb0184ef8ccee87ff7079eaba03f23d (patch)
treeae50622b472abb1ab45637a8bb2e084991a98c76
parent805e4ed8849aeb563c5b92a18a518a5d15e924a3 (diff)
parentf6d7ab0c71777080405dd0b79952424c748f681e (diff)
downloadlibrsvg-6054a7634fb0184ef8ccee87ff7079eaba03f23d.tar.gz
Merge branch 'bilelmoussaoui/update' into 'main'
Traditional gtk-rs update See merge request GNOME/librsvg!792
-rw-r--r--.gitlab-ci.yml8
-rw-r--r--Cargo.lock441
-rw-r--r--Cargo.toml22
-rw-r--r--build.rs10
-rw-r--r--ci/check_rust_versions.py47
-rw-r--r--ci/container_builds.yml6
-rw-r--r--configure.ac3
-rw-r--r--devel-docs/ci.rst8
-rw-r--r--devel-docs/devel_environment.rst2
-rw-r--r--devel-docs/releasing.rst10
-rw-r--r--gdk-pixbuf-loader/Cargo.lock238
-rw-r--r--gdk-pixbuf-loader/Cargo.toml8
-rw-r--r--gdk-pixbuf-loader/src/lib.rs63
-rw-r--r--src/accept_language.rs10
-rw-r--r--src/bin/rsvg-bench.rs6
-rw-r--r--src/bin/rsvg-convert.rs31
-rw-r--r--src/c_api/handle.rs30
-rw-r--r--src/c_api/pixbuf_utils.rs6
-rw-r--r--src/cond.rs2
-rw-r--r--src/document.rs10
-rw-r--r--src/error.rs38
-rw-r--r--src/filter.rs2
-rw-r--r--src/filter_func.rs4
-rw-r--r--src/filters/error.rs8
-rw-r--r--src/layout.rs2
-rw-r--r--src/length.rs2
-rw-r--r--src/node.rs2
-rw-r--r--src/pattern.rs4
-rw-r--r--src/url_resolver.rs2
-rw-r--r--src/xml/mod.rs13
-rw-r--r--tests/src/cmdline/rsvg_convert.rs2
31 files changed, 602 insertions, 438 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c50ea948..66511053 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -314,6 +314,14 @@ deny:
script:
- cargo deny check
+check_rust_versions:
+ extends:
+ - '.container.opensuse@x86_64.stable'
+ - '.fdo.distribution-image@opensuse'
+ stage: lint
+ script:
+ - python3 ci/check_rust_versions.py
+
coverage:
extends:
- '.container.opensuse@x86_64.stable'
diff --git a/Cargo.lock b/Cargo.lock
index d15b94e8..feacc442 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -34,9 +34,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "anyhow"
-version = "1.0.66"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
+checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
[[package]]
name = "approx"
@@ -49,9 +49,9 @@ dependencies = [
[[package]]
name = "assert_cmd"
-version = "2.0.6"
+version = "2.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba45b8163c49ab5f972e59a8a5a03b6d2972619d486e19ec9fe744f7c2753d3c"
+checksum = "9834fcc22e0874394a010230586367d4a3e9f11b560f469262678547e1d2575e"
dependencies = [
"bstr",
"doc-comment",
@@ -113,9 +113,9 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
[[package]]
name = "bstr"
-version = "1.0.1"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fca0852af221f458706eb0725c03e4ed6c46af9ac98e6a689d5e634215d594dd"
+checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832"
dependencies = [
"memchr",
"once_cell",
@@ -125,15 +125,15 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.11.1"
+version = "3.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
[[package]]
name = "bytemuck"
-version = "1.12.3"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f"
+checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393"
[[package]]
name = "byteorder"
@@ -143,9 +143,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "cairo-rs"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "247e1183fa769ac22121f92276dae52f89acaf297f24b1320019f439b6e3b46f"
+checksum = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871"
dependencies = [
"bitflags",
"cairo-sys-rs",
@@ -157,9 +157,9 @@ dependencies = [
[[package]]
name = "cairo-sys-rs"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421"
+checksum = "f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e"
dependencies = [
"glib-sys",
"libc",
@@ -174,9 +174,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cc"
-version = "1.0.77"
+version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
[[package]]
name = "cfg-expr"
@@ -249,13 +249,13 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.0.29"
+version = "4.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d"
+checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76"
dependencies = [
"bitflags",
"clap_derive",
- "clap_lex 0.3.0",
+ "clap_lex 0.3.1",
"is-terminal",
"once_cell",
"strsim",
@@ -264,18 +264,18 @@ dependencies = [
[[package]]
name = "clap_complete"
-version = "4.0.6"
+version = "4.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7b3c9eae0de7bf8e3f904a5e40612b21fb2e2e566456d177809a48b892d24da"
+checksum = "3d6540eedc41f8a5a76cf3d8d458057dcdf817be4158a55b5f861f7a5483de75"
dependencies = [
- "clap 4.0.29",
+ "clap 4.1.4",
]
[[package]]
name = "clap_derive"
-version = "4.0.21"
+version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014"
+checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8"
dependencies = [
"heck",
"proc-macro-error",
@@ -295,9 +295,9 @@ dependencies = [
[[package]]
name = "clap_lex"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
+checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
dependencies = [
"os_str_bytes",
]
@@ -453,9 +453,9 @@ dependencies = [
[[package]]
name = "cxx"
-version = "1.0.82"
+version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453"
+checksum = "bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9"
dependencies = [
"cc",
"cxxbridge-flags",
@@ -465,9 +465,9 @@ dependencies = [
[[package]]
name = "cxx-build"
-version = "1.0.82"
+version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0"
+checksum = "94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d"
dependencies = [
"cc",
"codespan-reporting",
@@ -480,15 +480,15 @@ dependencies = [
[[package]]
name = "cxxbridge-flags"
-version = "1.0.82"
+version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71"
+checksum = "48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.82"
+version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470"
+checksum = "81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2"
dependencies = [
"proc-macro2",
"quote",
@@ -558,9 +558,9 @@ dependencies = [
[[package]]
name = "either"
-version = "1.8.0"
+version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
[[package]]
name = "encoding"
@@ -702,24 +702,24 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.25"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
dependencies = [
"futures-core",
]
[[package]]
name = "futures-core"
-version = "0.3.25"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
[[package]]
name = "futures-executor"
-version = "0.3.25"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
+checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e"
dependencies = [
"futures-core",
"futures-task",
@@ -728,15 +728,15 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.25"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
[[package]]
name = "futures-macro"
-version = "0.3.25"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
dependencies = [
"proc-macro2",
"quote",
@@ -745,15 +745,15 @@ dependencies = [
[[package]]
name = "futures-task"
-version = "0.3.25"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
[[package]]
name = "futures-util"
-version = "0.3.25"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
dependencies = [
"futures-core",
"futures-macro",
@@ -774,22 +774,23 @@ dependencies = [
[[package]]
name = "gdk-pixbuf"
-version = "0.16.4"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3094f2b8578136d1929cade4e0fff82f573521b579e96cfc24af2458431f176"
+checksum = "b023fbe0c6b407bd3d9805d107d9800da3829dc5a676653210f1d5f16d7f59bf"
dependencies = [
"bitflags",
"gdk-pixbuf-sys",
"gio",
"glib",
"libc",
+ "once_cell",
]
[[package]]
name = "gdk-pixbuf-sys"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016"
+checksum = "7b41bd2b44ed49d99277d3925652a163038bd5ed943ec9809338ffb2f4391e3b"
dependencies = [
"gio-sys",
"glib-sys",
@@ -822,9 +823,9 @@ dependencies = [
[[package]]
name = "gio"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d4a17d999e6e4e05d87c2bb05b7140d47769bc53211711a33e2f91536458714"
+checksum = "1981edf8679d2f2c8ec3120015867f45aa0a1c2d5e3e129ca2f7dda174d3d2a9"
dependencies = [
"bitflags",
"futures-channel",
@@ -842,9 +843,9 @@ dependencies = [
[[package]]
name = "gio-sys"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229"
+checksum = "b5d3076ecb86c8c3a672c9843d6232b3a344fb81d304d0ba1ac64b23343efa46"
dependencies = [
"glib-sys",
"gobject-sys",
@@ -855,9 +856,9 @@ dependencies = [
[[package]]
name = "glib"
-version = "0.16.4"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5204a4217749b385cefbfb7bf3a2fcde83e4ce6d0945f64440a1f5bd4010305"
+checksum = "ac347af59233f0544ce00a37bad50f4ac401d006505b26d80ad6d9bbecf6493f"
dependencies = [
"bitflags",
"futures-channel",
@@ -870,6 +871,7 @@ dependencies = [
"glib-sys",
"gobject-sys",
"libc",
+ "memchr",
"once_cell",
"smallvec",
"thiserror",
@@ -877,9 +879,9 @@ dependencies = [
[[package]]
name = "glib-macros"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e084807350b01348b6d9dbabb724d1a0bb987f47a2c85de200e98e12e30733bf"
+checksum = "5965ae1a44aa4bae4e1e6970f25b66c058fef873d2626c9932a41128dbeea03f"
dependencies = [
"anyhow",
"heck",
@@ -892,9 +894,9 @@ dependencies = [
[[package]]
name = "glib-sys"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65"
+checksum = "9ddcb73fa8236277bedadaaadb76aef49c85d66340f83bece244f46c2d4f0e01"
dependencies = [
"libc",
"system-deps",
@@ -902,9 +904,9 @@ dependencies = [
[[package]]
name = "gobject-sys"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1"
+checksum = "9a0155d388840c77d61b033b66ef4f9bc7f4133d83df83572d6b4fb234a3be7d"
dependencies = [
"glib-sys",
"libc",
@@ -925,9 +927,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "heck"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
@@ -948,6 +950,12 @@ dependencies = [
]
[[package]]
+name = "hermit-abi"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+
+[[package]]
name = "iana-time-zone"
version = "0.1.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1002,9 +1010,9 @@ dependencies = [
[[package]]
name = "io-lifetimes"
-version = "1.0.3"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
+checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
dependencies = [
"libc",
"windows-sys",
@@ -1012,11 +1020,11 @@ dependencies = [
[[package]]
name = "is-terminal"
-version = "0.4.1"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330"
+checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef"
dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi 0.3.1",
"io-lifetimes",
"rustix",
"windows-sys",
@@ -1039,15 +1047,15 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]]
name = "itoa"
-version = "1.0.4"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
[[package]]
name = "js-sys"
-version = "0.3.60"
+version = "0.3.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
dependencies = [
"wasm-bindgen",
]
@@ -1066,9 +1074,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.137"
+version = "0.2.139"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
[[package]]
name = "libloading"
@@ -1081,6 +1089,12 @@ dependencies = [
]
[[package]]
+name = "libm"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
+
+[[package]]
name = "librsvg"
version = "2.55.90"
dependencies = [
@@ -1090,7 +1104,7 @@ dependencies = [
"cairo-rs",
"cast",
"chrono",
- "clap 4.0.29",
+ "clap 4.1.4",
"clap_complete",
"criterion",
"cssparser",
@@ -1134,9 +1148,9 @@ dependencies = [
[[package]]
name = "link-cplusplus"
-version = "1.0.7"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
dependencies = [
"cc",
]
@@ -1149,9 +1163,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
[[package]]
name = "linux-raw-sys"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
[[package]]
name = "locale_config"
@@ -1194,7 +1208,7 @@ dependencies = [
"chrono",
"encoding",
"flate2",
- "itoa 1.0.4",
+ "itoa 1.0.5",
"linked-hash-map",
"log",
"pom",
@@ -1233,9 +1247,9 @@ dependencies = [
[[package]]
name = "matches"
-version = "0.1.9"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
[[package]]
name = "matrixmultiply"
@@ -1310,6 +1324,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]]
+name = "nom8"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
name = "normalize-line-endings"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1317,9 +1340,9 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
[[package]]
name = "num-complex"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
dependencies = [
"num-traits",
]
@@ -1352,15 +1375,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
dependencies = [
"autocfg",
+ "libm",
]
[[package]]
name = "num_cpus"
-version = "1.14.0"
+version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
dependencies = [
- "hermit-abi 0.1.19",
+ "hermit-abi 0.2.6",
"libc",
]
@@ -1395,9 +1419,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.16.0"
+version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
[[package]]
name = "oorandom"
@@ -1413,9 +1437,9 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
[[package]]
name = "pango"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6a83cd4015382dbb0f4fcf3ab7b277d4885711a62b2f2c1e6582a120094edad"
+checksum = "243c048be90312220fb3bd578176eed8290568274a93c95040289d39349384bc"
dependencies = [
"bitflags",
"gio",
@@ -1427,9 +1451,9 @@ dependencies = [
[[package]]
name = "pango-sys"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f"
+checksum = "4293d0f0b5525eb5c24734d30b0ed02cd02aa734f216883f376b54de49625de8"
dependencies = [
"glib-sys",
"gobject-sys",
@@ -1439,9 +1463,9 @@ dependencies = [
[[package]]
name = "pangocairo"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16ad2ec87789371b551fd2367c10aa37060412ffd3e60abd99491b21b93a3f9b"
+checksum = "2feeb7ea7874507f83f5e7ba869c54e321959431c8fbd70d4b735c8b15d90506"
dependencies = [
"bitflags",
"cairo-rs",
@@ -1453,9 +1477,9 @@ dependencies = [
[[package]]
name = "pangocairo-sys"
-version = "0.16.3"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "848d2df9b7f1a8c7a19d994de443bcbe5d4382610ccb8e64247f932be74fcf76"
+checksum = "71abd374a8322e2e382039ff2e020c4cc9ef2e12ea488e38d9cec4a55e296470"
dependencies = [
"cairo-sys-rs",
"glib-sys",
@@ -1476,9 +1500,9 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.5"
+version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
dependencies = [
"cfg-if",
"libc",
@@ -1489,9 +1513,9 @@ dependencies = [
[[package]]
name = "paste"
-version = "1.0.9"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1"
+checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
[[package]]
name = "percent-encoding"
@@ -1669,9 +1693,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]]
name = "predicates"
-version = "2.1.3"
+version = "2.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed6bd09a7f7e68f3f0bf710fb7ab9c4615a488b58b5f653382a687701e458c92"
+checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd"
dependencies = [
"difflib",
"float-cmp",
@@ -1699,13 +1723,12 @@ dependencies = [
[[package]]
name = "proc-macro-crate"
-version = "1.2.1"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9"
+checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34"
dependencies = [
"once_cell",
- "thiserror",
- "toml",
+ "toml_edit",
]
[[package]]
@@ -1734,24 +1757,24 @@ dependencies = [
[[package]]
name = "proc-macro-hack"
-version = "0.5.19"
+version = "0.5.20+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
-version = "1.0.47"
+version = "1.0.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
dependencies = [
"unicode-ident",
]
[[package]]
name = "proptest"
-version = "1.0.0"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e0d9cc07f18492d879586c92b485def06bc850da3118075cd45d50e9c95b0e5"
+checksum = "29f1b898011ce9595050a68e60f90bad083ff2987a695a42357134c8381fba70"
dependencies = [
"bit-set",
"bitflags",
@@ -1765,6 +1788,7 @@ dependencies = [
"regex-syntax",
"rusty-fork",
"tempfile",
+ "unarray",
]
[[package]]
@@ -1781,9 +1805,9 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
[[package]]
name = "quote"
-version = "1.0.21"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
dependencies = [
"proc-macro2",
]
@@ -1886,20 +1910,19 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
[[package]]
name = "rayon"
-version = "1.6.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b"
+checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7"
dependencies = [
- "crossbeam-deque",
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
-version = "1.10.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3"
+checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b"
dependencies = [
"crossbeam-channel",
"crossbeam-deque",
@@ -1924,9 +1947,9 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.7.0"
+version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
dependencies = [
"aho-corasick",
"memchr",
@@ -1956,9 +1979,9 @@ dependencies = [
[[package]]
name = "rgb"
-version = "0.8.34"
+version = "0.8.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3"
+checksum = "7495acf66551cdb696b7711408144bcd3194fc78e32f3a09e809bfe7dd4a7ce3"
dependencies = [
"bytemuck",
]
@@ -1978,14 +2001,14 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
- "semver 1.0.14",
+ "semver 1.0.16",
]
[[package]]
name = "rustix"
-version = "0.36.4"
+version = "0.36.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23"
+checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
dependencies = [
"bitflags",
"errno",
@@ -2009,9 +2032,9 @@ dependencies = [
[[package]]
name = "ryu"
-version = "1.0.11"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
[[package]]
name = "safe_arch"
@@ -2039,9 +2062,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "scratch"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898"
+checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2"
[[package]]
name = "selectors"
@@ -2072,9 +2095,9 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.14"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
+checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
[[package]]
name = "semver-parser"
@@ -2084,18 +2107,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
-version = "1.0.148"
+version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.148"
+version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
dependencies = [
"proc-macro2",
"quote",
@@ -2104,11 +2127,11 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.89"
+version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
+checksum = "7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a"
dependencies = [
- "itoa 1.0.4",
+ "itoa 1.0.5",
"ryu",
"serde",
]
@@ -2270,9 +2293,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "syn"
-version = "1.0.104"
+version = "1.0.107"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
dependencies = [
"proc-macro2",
"quote",
@@ -2319,9 +2342,9 @@ dependencies = [
[[package]]
name = "termcolor"
-version = "1.1.3"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
dependencies = [
"winapi-util",
]
@@ -2340,18 +2363,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
[[package]]
name = "thiserror"
-version = "1.0.37"
+version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.37"
+version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
dependencies = [
"proc-macro2",
"quote",
@@ -2428,36 +2451,59 @@ dependencies = [
[[package]]
name = "tinyvec_macros"
-version = "0.1.0"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "toml"
-version = "0.5.9"
+version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
dependencies = [
"serde",
]
[[package]]
+name = "toml_datetime"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
+
+[[package]]
+name = "toml_edit"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b"
+dependencies = [
+ "indexmap",
+ "nom8",
+ "toml_datetime",
+]
+
+[[package]]
name = "typenum"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+
+[[package]]
+name = "unarray"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
[[package]]
name = "unicode-bidi"
-version = "0.3.8"
+version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
[[package]]
name = "unicode-ident"
-version = "1.0.5"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
[[package]]
name = "unicode-normalization"
@@ -2543,9 +2589,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.83"
+version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -2553,9 +2599,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.83"
+version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
dependencies = [
"bumpalo",
"log",
@@ -2568,9 +2614,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.83"
+version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -2578,9 +2624,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.83"
+version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
dependencies = [
"proc-macro2",
"quote",
@@ -2591,15 +2637,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.83"
+version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
[[package]]
name = "web-sys"
-version = "0.3.60"
+version = "0.3.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -2613,9 +2659,9 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
[[package]]
name = "wide"
-version = "0.7.5"
+version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae41ecad2489a1655c8ef8489444b0b113c0a0c795944a3572a0931cf7d2525c"
+checksum = "feff0a412894d67223777b6cc8d68c0dab06d52d95e9890d5f2d47f10dd9366c"
dependencies = [
"bytemuck",
"safe_arch",
@@ -2654,9 +2700,18 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows-sys"
-version = "0.42.0"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
@@ -2669,45 +2724,45 @@ dependencies = [
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.42.0"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.42.0"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
[[package]]
name = "windows_i686_gnu"
-version = "0.42.0"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
[[package]]
name = "windows_i686_msvc"
-version = "0.42.0"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.42.0"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.42.0"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.42.0"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
[[package]]
name = "xml5ever"
diff --git a/Cargo.toml b/Cargo.toml
index 20babd44..2c1a936b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -9,7 +9,7 @@ homepage = "https://wiki.gnome.org/Projects/LibRsvg"
repository = "https://gitlab.gnome.org/GNOME/librsvg/"
build = "build.rs"
edition = "2021"
-rust-version = "1.63"
+rust-version = "1.64.0"
[profile.overflow]
inherits = "release"
@@ -53,7 +53,7 @@ crate-type = [ "staticlib", "rlib" ]
# src/lib.rs - toplevel example in the docs
anyhow = "1.0"
byteorder = "1.4"
-cairo-rs = { version = "0.16", features=["v1_16", "png", "pdf", "ps", "svg"] }
+cairo-rs = { version = "0.17", features=["v1_16", "png", "pdf", "ps", "svg"] }
cast = "0.3.0"
chrono = "0.4.0" # rsvg-convert
clap = { version = "4.0.17", features = ["cargo", "derive"] } # rsvg-convert
@@ -62,9 +62,9 @@ cssparser = "0.28.0"
data-url = "0.2.0"
encoding = "0.2.33"
float-cmp = "0.9.0"
-gdk-pixbuf = "0.16"
-gio = "0.16"
-glib = "0.16"
+gdk-pixbuf = "0.17"
+gio = "0.17"
+glib = "0.17"
itertools = "0.10.3"
language-tags = "0.3.1"
libc = "0.2"
@@ -73,8 +73,8 @@ markup5ever = "0.11.0"
nalgebra = "0.31.4"
num-traits = "0.2"
once_cell = "1.2.0"
-pango = { version = "0.16", features = ["v1_46"] }
-pangocairo = "0.16"
+pango = { version = "0.17", features = ["v1_46"] }
+pangocairo = "0.17"
rayon = "1"
rctree = "0.5.0"
regex = "1"
@@ -89,16 +89,16 @@ xml5ever = "0.17.0"
[dev-dependencies]
anyhow = "1.0"
assert_cmd = "2.0.2"
-cairo-rs = { version = "0.16", features = ["png"] }
+cairo-rs = { version = "0.17", features = ["png"] }
cast = "0.3.0"
chrono = "0.4.0"
criterion = "0.4"
-glib = "0.16"
+glib = "0.17"
libc = "0.2"
lopdf = "0.29.0"
matches = "0.1"
-pango = "0.16"
-pangocairo = "0.16"
+pango = "0.17"
+pangocairo = "0.17"
png = "0.17.2"
predicates = "2.0.0"
proptest = "1.0.0"
diff --git a/build.rs b/build.rs
index ac08a9bb..8478e4ee 100644
--- a/build.rs
+++ b/build.rs
@@ -8,7 +8,7 @@ use std::process;
fn main() {
if let Err(e) = system_deps::Config::new().probe() {
- eprintln!("{}", e);
+ eprintln!("{e}");
process::exit(1);
}
@@ -45,12 +45,12 @@ where
W: Write,
F: Fn(f64) -> f64,
{
- writeln!(w, "const {}: [u8; {}] = [", name, len).unwrap();
+ writeln!(w, "const {name}: [u8; {len}] = [").unwrap();
for i in 0..len {
let x = f(i as f64 / 255.0);
let v = (x * 255.0).round() as u8;
- writeln!(w, " {},", v).unwrap();
+ writeln!(w, " {v},").unwrap();
}
writeln!(w, "];").unwrap();
@@ -58,7 +58,7 @@ where
fn generate_srgb_tables() {
let path = Path::new(&env::var("OUT_DIR").unwrap()).join("srgb-codegen.rs");
- let mut file = BufWriter::new(File::create(&path).unwrap());
+ let mut file = BufWriter::new(File::create(path).unwrap());
print_table(&mut file, "LINEARIZE", linearize, 256);
print_table(&mut file, "UNLINEARIZE", unlinearize, 256);
@@ -95,7 +95,7 @@ fn write_version() {
}
}
- Err(e) => panic!("could not parse version from configure.ac: {}", e),
+ Err(e) => panic!("could not parse version from configure.ac: {e}"),
}
}
}
diff --git a/ci/check_rust_versions.py b/ci/check_rust_versions.py
new file mode 100644
index 00000000..56aac1a4
--- /dev/null
+++ b/ci/check_rust_versions.py
@@ -0,0 +1,47 @@
+# This script checks that the Minimum Supported Rust Version (MSRV) has the same value
+# in several places throughout the source tree.
+
+import re
+import sys
+
+PLACES_TO_CHECK = [
+ ['configure.ac', r'MINIMUM_RUST_VER=(.*)'],
+ ['Cargo.toml', r'rust-version\s*=\s*"(.*)"'],
+ ['ci/container_builds.yml', r'RUST_MINIMUM:\s*"(.*)"'],
+ ['devel-docs/devel_environment.rst', r'rust (.*) or later'],
+]
+
+versions = []
+
+for filename, regex in PLACES_TO_CHECK:
+ r = re.compile(regex)
+
+ with open(filename) as f:
+ matched = False
+ for idx, line in enumerate(f.readlines()):
+ matches = r.search(line)
+ if matches is not None:
+ matched = True
+ line_number = idx + 1
+ versions.append([filename, line_number, matches.group(1), line])
+
+ if not matched:
+ raise Exception(f'file {filename} does not have a line that matches {regex}')
+
+assert len(versions) > 0
+
+all_the_same = True
+
+for filename, line_number, version, line in versions[1:]:
+ if version != versions[0][2]:
+ all_the_same = False
+
+if not all_the_same:
+ print(f'Version numbers do not match in these lines, please fix them!\n', file=sys.stderr)
+
+ for filename, line_number, version, line in versions:
+ print(f'{filename}:{line_number}: {line}', file=sys.stderr)
+
+ sys.exit(1)
+
+print(f'Versions number match. All good!', file=sys.stderr)
diff --git a/ci/container_builds.yml b/ci/container_builds.yml
index 335247a7..4e8c4900 100644
--- a/ci/container_builds.yml
+++ b/ci/container_builds.yml
@@ -6,9 +6,9 @@ include:
variables:
# When branching change the suffix to avoid conflicts with images
# from the main branch
- BASE_TAG: "2022-10-26.0-main"
- RUST_STABLE: "1.64.0"
- RUST_MINIMUM: "1.63.0"
+ BASE_TAG: "2023-02-08.1-main"
+ RUST_STABLE: "1.67.0"
+ RUST_MINIMUM: "1.64.0"
.container.opensuse@common:
stage: "container-build"
diff --git a/configure.ac b/configure.ac
index 2760ffdd..a656c2d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -107,7 +107,8 @@ AS_IF(test x$RUSTC = xno,
dnl MSRV - Minimum Supported Rust Version
dnl If you change this, please update the "_manual_setup" section of devel-docs/devel_environment.rst
-MINIMUM_RUST_VER=1.63
+dnl keep in sync with Cargo.toml
+MINIMUM_RUST_VER=1.64.0
rust_version=`$RUSTC --version | sed -e 's/^rustc //g'`
AX_COMPARE_VERSION([$rust_version],[lt],[$MINIMUM_RUST_VER], [
AC_MSG_ERROR([librsvg needs at least rustc version $MINIMUM_RUST_VER])
diff --git a/devel-docs/ci.rst b/devel-docs/ci.rst
index 31d212e4..776b0b96 100644
--- a/devel-docs/ci.rst
+++ b/devel-docs/ci.rst
@@ -125,6 +125,14 @@ There is a job for ``cargo fmt``. Librsvg uses the default formatting
for Rust code. For portions of code that are more legible if
indented/aligned by hand, please use ``#[rustfmt::skip]``.
+One job runs `cargo deny`, which checks if there are dependencies with
+vulnerabilities.
+
+Another job runs a script to check that the Rust versions mentioned in
+various parts of the source code all match (e.g. `Cargo.toml` and
+`configure.ac` must have check for the same Minimum Supported Rust
+Version (MSRV)).
+
Test coverage report
--------------------
diff --git a/devel-docs/devel_environment.rst b/devel-docs/devel_environment.rst
index 9facbd1f..5c944909 100644
--- a/devel-docs/devel_environment.rst
+++ b/devel-docs/devel_environment.rst
@@ -103,7 +103,7 @@ minimum version is listed here; you may use a newer version instead.
**Compilers and build tools:**
* a C compiler and `make` tool; we recommend GNU `make`.
-* rust 1.63 or later
+* rust 1.64.0 or later
* cargo
* autoconf, automake, libtool, itstool
* vala (optional)
diff --git a/devel-docs/releasing.rst b/devel-docs/releasing.rst
index d168a7c0..3eb45cd8 100644
--- a/devel-docs/releasing.rst
+++ b/devel-docs/releasing.rst
@@ -100,11 +100,15 @@ Rust that is too old — instead of getting an obscure error message from
``rustc`` in the middle of the build when it finds an unsupported
language construct.
-Please update both of these when increasing the MSRV:
+Please update all of these values when increasing the MSRV:
-- The ``MININUM_RUST_MAJOR`` and ``MINIMUM_RUST_MINOR`` values in ``configure.ac``.
+- ``MININUM_RUST_VER`` in ``configure.ac``.
-- The ``rust-version`` value in ``Cargo.toml``.
+- ``rust-version`` in ``Cargo.toml``.
+
+- ``RUST_MINIMUM`` in ``ci/container_builds.yml``.
+
+- The ``_manual_setup`` section in ``devel-docs/devel_environment.rst``.
Sometimes librsvg’s dependencies update their MSRV and librsvg may need
to increase it as well. Please consider the following before doing this:
diff --git a/gdk-pixbuf-loader/Cargo.lock b/gdk-pixbuf-loader/Cargo.lock
index 1279026c..5954bc6b 100644
--- a/gdk-pixbuf-loader/Cargo.lock
+++ b/gdk-pixbuf-loader/Cargo.lock
@@ -36,17 +36,6 @@ dependencies = [
]
[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
-]
-
-[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -84,9 +73,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "cairo-rs"
-version = "0.16.1"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f9ee4a4ca9239c9a839453dce04b7ddee2f859ec4cd7acd1f5703b68db549c"
+checksum = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871"
dependencies = [
"bitflags",
"cairo-sys-rs",
@@ -98,9 +87,9 @@ dependencies = [
[[package]]
name = "cairo-sys-rs"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5119ea655ec777b523f0b57279e70f8a4542f61b0e98a48f892b4ef043fd4c5d"
+checksum = "f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e"
dependencies = [
"glib-sys",
"libc",
@@ -151,26 +140,33 @@ dependencies = [
[[package]]
name = "clap"
-version = "3.2.22"
+version = "4.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750"
+checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76"
dependencies = [
- "atty",
"bitflags",
"clap_derive",
"clap_lex",
- "indexmap",
+ "is-terminal",
"once_cell",
"strsim",
"termcolor",
- "textwrap",
+]
+
+[[package]]
+name = "clap_complete"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6540eedc41f8a5a76cf3d8d458057dcdf817be4158a55b5f861f7a5483de75"
+dependencies = [
+ "clap",
]
[[package]]
name = "clap_derive"
-version = "3.2.18"
+version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65"
+checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8"
dependencies = [
"heck",
"proc-macro-error",
@@ -181,9 +177,9 @@ dependencies = [
[[package]]
name = "clap_lex"
-version = "0.2.4"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
dependencies = [
"os_str_bytes",
]
@@ -263,7 +259,7 @@ dependencies = [
"dtoa-short",
"itoa",
"matches",
- "phf",
+ "phf 0.8.0",
"proc-macro2",
"quote",
"smallvec",
@@ -336,12 +332,9 @@ dependencies = [
[[package]]
name = "data-url"
-version = "0.1.1"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
-dependencies = [
- "matches",
-]
+checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
[[package]]
name = "derive_more"
@@ -442,6 +435,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
name = "float-cmp"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -543,22 +557,23 @@ dependencies = [
[[package]]
name = "gdk-pixbuf"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0fb526c8c3a075eda15f961820edf3e15fe18576ac4fbabbb324e4cc6c421e6"
+checksum = "b023fbe0c6b407bd3d9805d107d9800da3829dc5a676653210f1d5f16d7f59bf"
dependencies = [
"bitflags",
"gdk-pixbuf-sys",
"gio",
"glib",
"libc",
+ "once_cell",
]
[[package]]
name = "gdk-pixbuf-sys"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7df12d15c10c3c5a84d9fb4ba0e27659f6a2bdee4f27f8b17126da15d5ddd3f2"
+checksum = "7b41bd2b44ed49d99277d3925652a163038bd5ed943ec9809338ffb2f4391e3b"
dependencies = [
"gio-sys",
"glib-sys",
@@ -591,9 +606,9 @@ dependencies = [
[[package]]
name = "gio"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3025f17aab38ebbb40d785806cf36c292c4dd6755b05584fc52d34fb87533263"
+checksum = "1981edf8679d2f2c8ec3120015867f45aa0a1c2d5e3e129ca2f7dda174d3d2a9"
dependencies = [
"bitflags",
"futures-channel",
@@ -611,9 +626,9 @@ dependencies = [
[[package]]
name = "gio-sys"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6da1bba9d3f2ab13a6e9932c40f240dc99ebc9f0bdc35cfb130d1a3df36f374c"
+checksum = "b5d3076ecb86c8c3a672c9843d6232b3a344fb81d304d0ba1ac64b23343efa46"
dependencies = [
"glib-sys",
"gobject-sys",
@@ -624,9 +639,9 @@ dependencies = [
[[package]]
name = "glib"
-version = "0.16.1"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "079d580b26ee5eb504942bd4340a1218323a4cf19a31d776d62cd3a2a8416622"
+checksum = "ac347af59233f0544ce00a37bad50f4ac401d006505b26d80ad6d9bbecf6493f"
dependencies = [
"bitflags",
"futures-channel",
@@ -639,6 +654,7 @@ dependencies = [
"glib-sys",
"gobject-sys",
"libc",
+ "memchr",
"once_cell",
"smallvec",
"thiserror",
@@ -646,9 +662,9 @@ dependencies = [
[[package]]
name = "glib-macros"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e195c1311fa6b04d7b896ea39385f6bd60ef5d25bf74a7c11c8c3f94f6c1a572"
+checksum = "5965ae1a44aa4bae4e1e6970f25b66c058fef873d2626c9932a41128dbeea03f"
dependencies = [
"anyhow",
"heck",
@@ -661,9 +677,9 @@ dependencies = [
[[package]]
name = "glib-sys"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b33357bb421a77bd849f6a0bfcaf3b4b256a2577802971bb5dd522d530f27021"
+checksum = "9ddcb73fa8236277bedadaaadb76aef49c85d66340f83bece244f46c2d4f0e01"
dependencies = [
"libc",
"system-deps",
@@ -671,9 +687,9 @@ dependencies = [
[[package]]
name = "gobject-sys"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63ca11a57400f3d4fda594e002844be47900c9fb8b29e2155c6e37a1f24e51b3"
+checksum = "9a0155d388840c77d61b033b66ef4f9bc7f4133d83df83572d6b4fb234a3be7d"
dependencies = [
"glib-sys",
"libc",
@@ -681,12 +697,6 @@ dependencies = [
]
[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
name = "heck"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -702,6 +712,15 @@ dependencies = [
]
[[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
name = "iana-time-zone"
version = "0.1.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -736,13 +755,25 @@ dependencies = [
]
[[package]]
-name = "indexmap"
-version = "1.9.1"
+name = "io-lifetimes"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e"
dependencies = [
- "autocfg",
- "hashbrown",
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
+dependencies = [
+ "hermit-abi 0.2.6",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys",
]
[[package]]
@@ -789,13 +820,15 @@ checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
[[package]]
name = "librsvg"
-version = "2.55.0"
+version = "2.55.90"
dependencies = [
+ "anyhow",
"byteorder",
"cairo-rs",
"cast",
"chrono",
"clap",
+ "clap_complete",
"cssparser",
"data-url",
"encoding",
@@ -820,6 +853,7 @@ dependencies = [
"selectors",
"string_cache",
"system-deps",
+ "thiserror",
"tinyvec",
"url",
"xml5ever",
@@ -835,6 +869,12 @@ dependencies = [
]
[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
name = "locale_config"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -883,13 +923,13 @@ dependencies = [
[[package]]
name = "markup5ever"
-version = "0.10.1"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
+checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
dependencies = [
"log",
- "phf",
- "phf_codegen",
+ "phf 0.10.1",
+ "phf_codegen 0.10.0",
"string_cache",
"string_cache_codegen",
"tendril",
@@ -927,9 +967,9 @@ dependencies = [
[[package]]
name = "nalgebra"
-version = "0.30.1"
+version = "0.31.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb2d0de08694bed883320212c18ee3008576bfe8c306f4c3c4a58b4876998be"
+checksum = "20bd243ab3dbb395b39ee730402d2e5405e448c75133ec49cc977762c4cba3d1"
dependencies = [
"approx",
"matrixmultiply",
@@ -1009,7 +1049,7 @@ version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
dependencies = [
- "hermit-abi",
+ "hermit-abi 0.1.19",
"libc",
]
@@ -1056,9 +1096,9 @@ checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
[[package]]
name = "pango"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7208c60f224cf6e44c551df5ee2ef38f9da0fd29d7c5a0402000b8ab0520e798"
+checksum = "243c048be90312220fb3bd578176eed8290568274a93c95040289d39349384bc"
dependencies = [
"bitflags",
"gio",
@@ -1070,9 +1110,9 @@ dependencies = [
[[package]]
name = "pango-sys"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "922441c228366ed98d3534b87bc7c987c50564094c3abbc3513717786419252d"
+checksum = "4293d0f0b5525eb5c24734d30b0ed02cd02aa734f216883f376b54de49625de8"
dependencies = [
"glib-sys",
"gobject-sys",
@@ -1082,9 +1122,9 @@ dependencies = [
[[package]]
name = "pangocairo"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a726760a29e5e17d965d5d7573548e385ae9ce99cb7adcf70d75d4627f23fc7a"
+checksum = "2feeb7ea7874507f83f5e7ba869c54e321959431c8fbd70d4b735c8b15d90506"
dependencies = [
"bitflags",
"cairo-rs",
@@ -1096,9 +1136,9 @@ dependencies = [
[[package]]
name = "pangocairo-sys"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8281198ea4596bdc6e22b0d3565471c9456d7125e423a785f866640c18b57ec"
+checksum = "71abd374a8322e2e382039ff2e020c4cc9ef2e12ea488e38d9cec4a55e296470"
dependencies = [
"cairo-sys-rs",
"glib-sys",
@@ -1154,6 +1194,15 @@ dependencies = [
]
[[package]]
+name = "phf"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
+dependencies = [
+ "phf_shared 0.10.0",
+]
+
+[[package]]
name = "phf_codegen"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1164,6 +1213,16 @@ dependencies = [
]
[[package]]
+name = "phf_codegen"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
+dependencies = [
+ "phf_generator 0.10.0",
+ "phf_shared 0.10.0",
+]
+
+[[package]]
name = "phf_generator"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1430,9 +1489,9 @@ dependencies = [
[[package]]
name = "rctree"
-version = "0.4.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ae028b272a6e99d9f8260ceefa3caa09300a8d6c8d2b2001316474bc52122e9"
+checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
[[package]]
name = "redox_syscall"
@@ -1479,6 +1538,20 @@ dependencies = [
]
[[package]]
+name = "rustix"
+version = "0.36.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
name = "safe_arch"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1510,8 +1583,8 @@ dependencies = [
"derive_more",
"fxhash",
"log",
- "phf",
- "phf_codegen",
+ "phf 0.8.0",
+ "phf_codegen 0.8.0",
"precomputed-hash",
"servo_arc",
"smallvec",
@@ -1656,12 +1729,6 @@ dependencies = [
]
[[package]]
-name = "textwrap"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"
-
-[[package]]
name = "thiserror"
version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1950,12 +2017,11 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
[[package]]
name = "xml5ever"
-version = "0.16.2"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9234163818fd8e2418fcde330655e757900d4236acd8cc70fef345ef91f6d865"
+checksum = "4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650"
dependencies = [
"log",
"mac",
"markup5ever",
- "time",
]
diff --git a/gdk-pixbuf-loader/Cargo.toml b/gdk-pixbuf-loader/Cargo.toml
index 524b11a2..dc1ef5c5 100644
--- a/gdk-pixbuf-loader/Cargo.toml
+++ b/gdk-pixbuf-loader/Cargo.toml
@@ -9,9 +9,9 @@ crate-type = ["cdylib"]
[dependencies]
librsvg = { path = ".." }
-gdk-pixbuf = "0.16"
+gdk-pixbuf = "0.17"
libc = "0.2"
-glib = "0.16"
-gio = "0.16"
-cairo-rs = "0.16"
+glib = "0.17"
+gio = "0.17"
+cairo-rs = "0.17"
cstr = "0.2" \ No newline at end of file
diff --git a/gdk-pixbuf-loader/src/lib.rs b/gdk-pixbuf-loader/src/lib.rs
index 76dc91f8..53e96e18 100644
--- a/gdk-pixbuf-loader/src/lib.rs
+++ b/gdk-pixbuf-loader/src/lib.rs
@@ -9,7 +9,7 @@ use gdk_pixbuf::ffi::{
use libc::{c_char, c_int, c_uint};
use glib::ffi::{gboolean, gpointer, GError};
-use glib::translate::{IntoGlib, ToGlibPtr};
+use glib::translate::*;
use glib::Bytes;
use gio::prelude::MemoryInputStreamExt;
@@ -117,7 +117,7 @@ unsafe extern "C" fn stop_load(user_data: gpointer, error: *mut *mut GError) ->
Err(e) => {
if !error.is_null() {
let gerr = glib::Error::new(gdk_pixbuf::PixbufError::Failed, &e);
- *error = gerr.to_glib_full() as *mut GError;
+ *error = gerr.into_glib_ptr();
}
return false.into_glib();
}
@@ -202,7 +202,7 @@ mod tests {
use crate::{EXTENSIONS, MIME_TYPES};
use libc::c_char;
- use std::ptr::{null, null_mut};
+ use std::ptr::null_mut;
fn pb_format_new() -> GdkPixbufFormat {
let mut info = super::GdkPixbufFormat {
@@ -240,9 +240,9 @@ mod tests {
fn check_null_terminated_arr_cstrings(arr: &[*const c_char]) {
let n_strings = arr
.iter()
- .filter(|e| e != &&null())
+ .filter(|e| !e.is_null())
.map(|e| {
- if e != &null() {
+ if !e.is_null() {
// We use strlen in all of them to ensure some safety
// We could use CStr instead but it'd be a bit more cumbersome
assert!(unsafe { libc::strlen(*e as *const c_char) } > 0)
@@ -252,7 +252,7 @@ mod tests {
// Ensure last item is null and is the only null item
assert_eq!(n_strings, arr.len() - 1);
- assert!(arr.last().unwrap() == &null());
+ assert!(arr.last().unwrap().is_null());
}
#[test]
@@ -268,24 +268,25 @@ mod tests {
#[test]
fn signature() {
let info = pb_format_new();
-
- for i in 0..2 {
- let ptr = unsafe { info.signature.offset(i) };
- if i == 2 {
- assert_eq!(unsafe { (*ptr).prefix }, null_mut());
- continue;
- } else {
- assert_ne!(unsafe { (*ptr).prefix }, null_mut());
- if unsafe { (*ptr).mask } != null_mut() {
- // Mask can be null
- assert_eq!(
- unsafe { libc::strlen((*ptr).prefix as *mut c_char) },
- unsafe { libc::strlen((*ptr).mask as *mut c_char) }
- );
+ unsafe {
+ for i in 0..2 {
+ let ptr = info.signature.offset(i);
+ if i == 2 {
+ assert!((*ptr).prefix.is_null());
+ continue;
+ } else {
+ assert!(!(*ptr).prefix.is_null());
+ if (*ptr).mask != null_mut() {
+ // Mask can be null
+ assert_eq!(
+ libc::strlen((*ptr).prefix as *mut c_char),
+ libc::strlen((*ptr).mask as *mut c_char)
+ );
+ }
+ // Relevance must be 0 to 100
+ assert!((*ptr).relevance >= 0);
+ assert!((*ptr).relevance <= 100);
}
- // Relevance must be 0 to 100
- assert!(unsafe { (*ptr).relevance } >= 0);
- assert!(unsafe { (*ptr).relevance } <= 100);
}
}
}
@@ -357,15 +358,15 @@ mod tests {
0xff
);
}
+ unsafe {
+ let ctx = crate::begin_load(None, Some(prep_cb), None, null_mut(), null_mut());
+ assert_ne!(ctx, null_mut());
- let ctx = unsafe { crate::begin_load(None, Some(prep_cb), None, null_mut(), null_mut()) };
- assert_ne!(ctx, null_mut());
-
- let inc = unsafe {
- crate::load_increment(ctx, SVG_DATA.as_ptr(), SVG_DATA.len() as u32, null_mut())
- };
- assert_ne!(inc, 0);
+ let inc =
+ crate::load_increment(ctx, SVG_DATA.as_ptr(), SVG_DATA.len() as u32, null_mut());
+ assert_ne!(inc, 0);
- unsafe { crate::stop_load(ctx, null_mut()) };
+ crate::stop_load(ctx, null_mut());
+ }
}
}
diff --git a/src/accept_language.rs b/src/accept_language.rs
index 08e125e9..2abaae7f 100644
--- a/src/accept_language.rs
+++ b/src/accept_language.rs
@@ -68,7 +68,7 @@ impl fmt::Display for AcceptLanguageError {
match self {
Self::NoElements => write!(f, "no language tags in list"),
Self::InvalidCharacters => write!(f, "invalid characters in language list"),
- Self::InvalidLanguageTag(e) => write!(f, "invalid language tag: {}", e),
+ Self::InvalidLanguageTag(e) => write!(f, "invalid language tag: {e}"),
Self::InvalidWeight => write!(f, "invalid q= weight"),
}
}
@@ -188,16 +188,12 @@ impl LanguageTags {
let str_locale_range = locale_range.as_ref();
let locale_tag = LanguageTag::from_str(str_locale_range).map_err(|e| {
- format!(
- "invalid language tag \"{}\" in locale: {}",
- str_locale_range, e
- )
+ format!("invalid language tag \"{str_locale_range}\" in locale: {e}")
})?;
if !locale_tag.is_language_range() {
return Err(format!(
- "language tag \"{}\" is not a language range",
- locale_tag
+ "language tag \"{locale_tag}\" is not a language range"
));
}
diff --git a/src/bin/rsvg-bench.rs b/src/bin/rsvg-bench.rs
index b641eaa4..f92c8991 100644
--- a/src/bin/rsvg-bench.rs
+++ b/src/bin/rsvg-bench.rs
@@ -136,7 +136,7 @@ fn render_to_cairo(opt: &Opt, handle: &librsvg::SvgHandle) -> Result<(), Process
match (opt.hard_failures, renderer.render_document(&cr, &viewport)) {
(_, Ok(_)) => Ok(()),
(false, Err(e)) => {
- println!("could not render: {}", e);
+ println!("could not render: {e}");
Ok(())
}
(true, Err(e)) => Err(e.into()),
@@ -166,7 +166,7 @@ fn run(opt: &Opt) -> Result<()> {
println!("Processing files!");
for path in &opt.inputs {
- process_path(opt, &path)?;
+ process_path(opt, path)?;
}
Ok(())
@@ -255,7 +255,7 @@ fn main() {
match run(&opt) {
Ok(_) => (),
Err(e) => {
- eprintln!("{}", e);
+ eprintln!("{e}");
process::exit(1);
}
}
diff --git a/src/bin/rsvg-convert.rs b/src/bin/rsvg-convert.rs
index 4895c2d4..70d32747 100644
--- a/src/bin/rsvg-convert.rs
+++ b/src/bin/rsvg-convert.rs
@@ -49,7 +49,7 @@ impl From<cairo::Error> for Error {
Librsvg currently cannot render to images bigger than that.\n\
Please specify a smaller size.",
)),
- e => Self(format!("{}", e)),
+ e => Self(format!("{e}")),
}
}
}
@@ -58,7 +58,7 @@ macro_rules! impl_error_from {
($err:ty) => {
impl From<$err> for Error {
fn from(e: $err) -> Self {
- Self(format!("{}", e))
+ Self(format!("{e}"))
}
}
};
@@ -1035,7 +1035,7 @@ fn parse_args() -> Result<Converter, Error> {
if let Some(shell) = matches.get_one::<Shell>("completion").copied() {
let mut cmd = build_cli();
- eprintln!("Generating completion file for {}", shell);
+ eprintln!("Generating completion file for {shell}");
print_completions(shell, &mut cmd);
std::process::exit(0);
}
@@ -1064,7 +1064,7 @@ fn parse_args() -> Result<Converter, Error> {
Some(s) => AcceptLanguage::parse(s)
.map(Language::AcceptLanguage)
.map_err(|e| {
- let desc = format!("{}", e);
+ let desc = format!("{e}");
clap::Error::raw(clap::error::ErrorKind::InvalidValue, desc)
})?,
};
@@ -1082,7 +1082,7 @@ fn parse_args() -> Result<Converter, Error> {
if id.starts_with('#') {
id.clone()
} else {
- format!("#{}", id)
+ format!("#{id}")
}
};
@@ -1171,7 +1171,7 @@ fn parse_resolution(v: &str) -> Result<Resolution, String> {
match v.parse::<f64>() {
Ok(res) if res > 0.0 => Ok(Resolution(res)),
Ok(_) => Err(String::from("Invalid resolution")),
- Err(e) => Err(format!("{}", e)),
+ Err(e) => Err(format!("{e}")),
}
}
@@ -1182,7 +1182,7 @@ fn parse_zoom_factor(v: &str) -> Result<ZoomFactor, String> {
match v.parse::<f64>() {
Ok(res) if res > 0.0 => Ok(ZoomFactor(res)),
Ok(_) => Err(String::from("Invalid zoom factor")),
- Err(e) => Err(format!("{}", e)),
+ Err(e) => Err(format!("{e}")),
}
}
@@ -1217,10 +1217,7 @@ fn parse_background_color(s: &str) -> Result<Option<Color>, String> {
match s {
"none" | "None" => Ok(None),
_ => <Color as Parse>::parse_str(s).map(Some).map_err(|_| {
- format!(
- "Invalid value: The argument '{}' can not be parsed as a CSS color value",
- s
- )
+ format!("Invalid value: The argument '{s}' can not be parsed as a CSS color value")
}),
}
}
@@ -1236,19 +1233,13 @@ fn is_absolute_unit(u: LengthUnit) -> bool {
fn parse_length<N: Normalize, V: Validate>(s: &str) -> Result<CssLength<N, V>, String> {
<CssLength<N, V> as Parse>::parse_str(s)
- .map_err(|_| {
- format!(
- "Invalid value: The argument '{}' can not be parsed as a length",
- s
- )
- })
+ .map_err(|_| format!("Invalid value: The argument '{s}' can not be parsed as a length"))
.and_then(|l| {
if is_absolute_unit(l.unit) {
Ok(l)
} else {
Err(format!(
- "Invalid value '{}': supported units are px, in, cm, mm, pt, pc",
- s
+ "Invalid value '{s}': supported units are px, in, cm, mm, pt, pc"
))
}
})
@@ -1256,7 +1247,7 @@ fn parse_length<N: Normalize, V: Validate>(s: &str) -> Result<CssLength<N, V>, S
fn main() {
if let Err(e) = parse_args().and_then(|converter| converter.convert()) {
- std::eprintln!("{}", e);
+ std::eprintln!("{e}");
std::process::exit(1);
}
}
diff --git a/src/c_api/handle.rs b/src/c_api/handle.rs
index f1e65c4f..1698cc17 100644
--- a/src/c_api/handle.rs
+++ b/src/c_api/handle.rs
@@ -336,7 +336,7 @@ mod imp {
}
fn set_property(&self, id: usize, value: &glib::Value, pspec: &ParamSpec) {
- let obj = self.instance();
+ let obj = self.obj();
match pspec.name() {
"flags" => {
let v: HandleFlags = value.get().expect("flags value has incorrect type");
@@ -370,7 +370,7 @@ mod imp {
}
fn property(&self, id: usize, pspec: &ParamSpec) -> glib::Value {
- let obj = self.instance();
+ let obj = self.obj();
match pspec.name() {
"flags" => obj.get_flags().to_value(),
"dpi-x" => obj.get_dpi_x().to_value(),
@@ -996,7 +996,7 @@ fn is_cancellable(obj: *mut gio::ffi::GCancellable) -> bool {
fn get_rust_handle(handle: *const RsvgHandle) -> CHandle {
let handle = unsafe { &*handle };
- handle.imp().instance().to_owned()
+ handle.imp().obj().to_owned()
}
#[no_mangle]
@@ -1153,7 +1153,7 @@ impl<E: fmt::Display> IntoGError for Result<(), E> {
Ok(()) => true.into_glib(),
Err(e) => {
- set_gerror(session, error, 0, &format!("{}", e));
+ set_gerror(session, error, 0, &format!("{e}"));
false.into_glib()
}
}
@@ -1415,14 +1415,16 @@ pub unsafe extern "C" fn rsvg_handle_get_position_sub(
#[no_mangle]
pub unsafe extern "C" fn rsvg_handle_new() -> *const RsvgHandle {
- let obj = glib::Object::new::<CHandle>(&[]);
+ let obj = glib::Object::new::<CHandle>();
obj.to_glib_full()
}
#[no_mangle]
pub unsafe extern "C" fn rsvg_handle_new_with_flags(flags: RsvgHandleFlags) -> *const RsvgHandle {
- let obj = glib::Object::new::<CHandle>(&[("flags", &HandleFlags::from_bits_truncate(flags))]);
+ let obj = glib::Object::builder::<CHandle>()
+ .property("flags", &HandleFlags::from_bits_truncate(flags))
+ .build();
obj.to_glib_full()
}
@@ -1490,7 +1492,7 @@ pub unsafe extern "C" fn rsvg_handle_new_from_gfile_sync(
Ok(()) => raw_handle,
Err(e) => {
- set_gerror(&session, error, 0, &format!("{}", e));
+ set_gerror(&session, error, 0, &format!("{e}"));
gobject_ffi::g_object_unref(raw_handle as *mut _);
ptr::null_mut()
}
@@ -1531,7 +1533,7 @@ pub unsafe extern "C" fn rsvg_handle_new_from_stream_sync(
Ok(()) => raw_handle,
Err(e) => {
- set_gerror(&session, error, 0, &format!("{}", e));
+ set_gerror(&session, error, 0, &format!("{e}"));
gobject_ffi::g_object_unref(raw_handle as *mut _);
ptr::null_mut()
}
@@ -1629,12 +1631,7 @@ pub unsafe extern "C" fn rsvg_handle_set_stylesheet(
match str::from_utf8(s) {
Ok(s) => s,
Err(e) => {
- set_gerror(
- &session,
- error,
- 0,
- &format!("CSS is not valid UTF-8: {}", e),
- );
+ set_gerror(&session, error, 0, &format!("CSS is not valid UTF-8: {e}"));
return false.into_glib();
}
}
@@ -1977,10 +1974,7 @@ fn check_cairo_context(cr: *mut cairo::ffi::cairo_t) -> Result<cairo::Context, R
} else {
let status: cairo::Error = status.into();
- let msg = format!(
- "cannot render on a cairo_t with a failure status (status={:?})",
- status,
- );
+ let msg = format!("cannot render on a cairo_t with a failure status (status={status:?})");
rsvg_g_warning(&msg);
diff --git a/src/c_api/pixbuf_utils.rs b/src/c_api/pixbuf_utils.rs
index cc0efe05..710f2c4b 100644
--- a/src/c_api/pixbuf_utils.rs
+++ b/src/c_api/pixbuf_utils.rs
@@ -156,7 +156,7 @@ unsafe fn pixbuf_from_file_with_size_mode(
let handle = match Loader::new_with_session(session.clone()).read_path(path) {
Ok(handle) => handle,
Err(e) => {
- set_gerror(&session, error, 0, &format!("{}", e));
+ set_gerror(&session, error, 0, &format!("{e}"));
return ptr::null_mut();
}
};
@@ -167,7 +167,7 @@ unsafe fn pixbuf_from_file_with_size_mode(
let (document_width, document_height) = match renderer.legacy_document_size() {
Ok(dim) => dim,
Err(e) => {
- set_gerror(&session, error, 0, &format!("{}", e));
+ set_gerror(&session, error, 0, &format!("{e}"));
return ptr::null_mut();
}
};
@@ -184,7 +184,7 @@ unsafe fn pixbuf_from_file_with_size_mode(
)
.map(|pixbuf| pixbuf.to_glib_full())
.unwrap_or_else(|e| {
- set_gerror(&session, error, 0, &format!("{}", e));
+ set_gerror(&session, error, 0, &format!("{e}"));
ptr::null_mut()
})
}
diff --git a/src/cond.rs b/src/cond.rs
index 04c01042..57e4817c 100644
--- a/src/cond.rs
+++ b/src/cond.rs
@@ -113,7 +113,7 @@ impl SystemLanguage {
.map(str::trim)
.map(|s| {
LanguageTag::from_str(s).map_err(|e| {
- ValueErrorKind::parse_error(&format!("invalid language tag: \"{}\"", e))
+ ValueErrorKind::parse_error(&format!("invalid language tag \"{s}\": {e}"))
})
})
.collect::<Result<Vec<LanguageTag>, _>>();
diff --git a/src/document.rs b/src/document.rs
index 711982f8..0327e769 100644
--- a/src/document.rs
+++ b/src/document.rs
@@ -64,8 +64,8 @@ impl NodeId {
impl fmt::Display for NodeId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
- NodeId::Internal(id) => write!(f, "#{}", id),
- NodeId::External(url, id) => write!(f, "{}#{}", url, id),
+ NodeId::Internal(id) => write!(f, "#{id}"),
+ NodeId::External(url, id) => write!(f, "{url}#{id}"),
}
}
}
@@ -330,9 +330,9 @@ fn image_loading_error_from_cairo(status: cairo::Error, aurl: &AllowedUrl) -> Lo
let url = human_readable_url(aurl);
match status {
- cairo::Error::NoMemory => LoadingError::OutOfMemory(format!("loading image: {}", url)),
- cairo::Error::InvalidSize => LoadingError::Other(format!("image too big: {}", url)),
- _ => LoadingError::Other(format!("cairo error: {}", status)),
+ cairo::Error::NoMemory => LoadingError::OutOfMemory(format!("loading image: {url}")),
+ cairo::Error::InvalidSize => LoadingError::Other(format!("image too big: {url}")),
+ _ => LoadingError::Other(format!("cairo error: {status}")),
}
}
diff --git a/src/error.rs b/src/error.rs
index 9ec4b355..62c8e757 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -50,9 +50,9 @@ impl fmt::Display for ValueErrorKind {
match *self {
ValueErrorKind::UnknownProperty => write!(f, "unknown property name"),
- ValueErrorKind::Parse(ref s) => write!(f, "parse error: {}", s),
+ ValueErrorKind::Parse(ref s) => write!(f, "parse error: {s}"),
- ValueErrorKind::Value(ref s) => write!(f, "invalid value: {}", s),
+ ValueErrorKind::Value(ref s) => write!(f, "invalid value: {s}"),
}
}
}
@@ -142,7 +142,7 @@ impl From<DefsLookupErrorKind> for RenderingError {
fn from(e: DefsLookupErrorKind) -> RenderingError {
match e {
DefsLookupErrorKind::NotFound => RenderingError::IdNotFound,
- _ => RenderingError::InvalidId(format!("{}", e)),
+ _ => RenderingError::InvalidId(format!("{e}")),
}
}
}
@@ -152,18 +152,18 @@ impl error::Error for RenderingError {}
impl fmt::Display for RenderingError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
- RenderingError::Rendering(ref s) => write!(f, "rendering error: {}", s),
- RenderingError::LimitExceeded(ref l) => write!(f, "{}", l),
+ RenderingError::Rendering(ref s) => write!(f, "rendering error: {s}"),
+ RenderingError::LimitExceeded(ref l) => write!(f, "{l}"),
RenderingError::IdNotFound => write!(f, "element id not found"),
- RenderingError::InvalidId(ref s) => write!(f, "invalid id: {:?}", s),
- RenderingError::OutOfMemory(ref s) => write!(f, "out of memory: {}", s),
+ RenderingError::InvalidId(ref s) => write!(f, "invalid id: {s:?}"),
+ RenderingError::OutOfMemory(ref s) => write!(f, "out of memory: {s}"),
}
}
}
impl From<cairo::Error> for RenderingError {
fn from(e: cairo::Error) -> RenderingError {
- RenderingError::Rendering(format!("{:?}", e))
+ RenderingError::Rendering(format!("{e:?}"))
}
}
@@ -197,14 +197,14 @@ pub enum AcquireError {
impl fmt::Display for AcquireError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
- AcquireError::LinkNotFound(ref frag) => write!(f, "link not found: {}", frag),
+ AcquireError::LinkNotFound(ref frag) => write!(f, "link not found: {frag}"),
AcquireError::InvalidLinkType(ref frag) => {
- write!(f, "link {} is to object of invalid type", frag)
+ write!(f, "link \"{frag}\" is to object of invalid type")
}
AcquireError::CircularReference(ref node) => {
- write!(f, "circular reference in node {}", node)
+ write!(f, "circular reference in node {node}")
}
AcquireError::MaxReferencesExceeded => {
@@ -326,7 +326,7 @@ pub enum AllowedUrlError {
impl fmt::Display for AllowedUrlError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
- AllowedUrlError::UrlParseError(e) => write!(f, "URL parse error: {}", e),
+ AllowedUrlError::UrlParseError(e) => write!(f, "URL parse error: {e}"),
AllowedUrlError::BaseRequired => write!(f, "base required"),
AllowedUrlError::DifferentUriSchemes => write!(f, "different URI schemes"),
AllowedUrlError::DisallowedScheme => write!(f, "disallowed scheme"),
@@ -452,14 +452,14 @@ impl error::Error for LoadingError {}
impl fmt::Display for LoadingError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
- LoadingError::XmlParseError(ref s) => write!(f, "XML parse error: {}", s),
- LoadingError::OutOfMemory(ref s) => write!(f, "out of memory: {}", s),
+ LoadingError::XmlParseError(ref s) => write!(f, "XML parse error: {s}"),
+ LoadingError::OutOfMemory(ref s) => write!(f, "out of memory: {s}"),
LoadingError::BadUrl => write!(f, "invalid URL"),
LoadingError::BadCss => write!(f, "invalid CSS"),
LoadingError::NoSvgRoot => write!(f, "XML does not have <svg> root"),
- LoadingError::Io(ref s) => write!(f, "I/O error: {}", s),
- LoadingError::LimitExceeded(ref l) => write!(f, "{}", l),
- LoadingError::Other(ref s) => write!(f, "{}", s),
+ LoadingError::Io(ref s) => write!(f, "I/O error: {s}"),
+ LoadingError::LimitExceeded(ref l) => write!(f, "{l}"),
+ LoadingError::Other(ref s) => write!(f, "{s}"),
}
}
}
@@ -468,7 +468,7 @@ impl From<glib::Error> for LoadingError {
fn from(e: glib::Error) -> LoadingError {
// FIXME: this is somewhat fishy; not all GError are I/O errors, but in librsvg
// most GError do come from gio. Some come from GdkPixbufLoader, though.
- LoadingError::Io(format!("{}", e))
+ LoadingError::Io(format!("{e}"))
}
}
@@ -476,7 +476,7 @@ impl From<IoError> for LoadingError {
fn from(e: IoError) -> LoadingError {
match e {
IoError::BadDataUrl => LoadingError::BadUrl,
- IoError::Glib(e) => LoadingError::Io(format!("{}", e)),
+ IoError::Glib(e) => LoadingError::Io(format!("{e}")),
}
}
}
diff --git a/src/filter.rs b/src/filter.rs
index 259a5b18..ebab3099 100644
--- a/src/filter.rs
+++ b/src/filter.rs
@@ -188,7 +188,7 @@ fn extract_filter_from_filter_node(
let elt = primitive_node.borrow_element();
let effect = elt.as_filter_effect().unwrap();
- let primitive_name = format!("{}", primitive_node);
+ let primitive_name = format!("{primitive_node}");
let primitive_values = elt.get_computed_values();
let params = NormalizeParams::new(primitive_values, primitive_view_params);
diff --git a/src/filter_func.rs b/src/filter_func.rs
index b01fe2f4..3639503e 100644
--- a/src/filter_func.rs
+++ b/src/filter_func.rs
@@ -133,7 +133,7 @@ pub struct Sepia {
/// Reads an optional number or percentage from the parser.
/// Negative numbers are not allowed.
-fn parse_num_or_percentage<'i>(parser: &mut Parser<'i, '_>) -> Option<f64> {
+fn parse_num_or_percentage(parser: &mut Parser<'_, '_>) -> Option<f64> {
match parser.try_parse(|p| NumberOrPercentage::parse(p)) {
Ok(NumberOrPercentage { value }) if value < 0.0 => None,
Ok(NumberOrPercentage { value }) => Some(value),
@@ -143,7 +143,7 @@ fn parse_num_or_percentage<'i>(parser: &mut Parser<'i, '_>) -> Option<f64> {
/// Reads an optional number or percentage from the parser, returning a value clamped to [0, 1].
/// Negative numbers are not allowed.
-fn parse_num_or_percentage_clamped<'i>(parser: &mut Parser<'i, '_>) -> Option<f64> {
+fn parse_num_or_percentage_clamped(parser: &mut Parser<'_, '_>) -> Option<f64> {
parse_num_or_percentage(parser).map(|value| value.clamp(0.0, 1.0))
}
diff --git a/src/filters/error.rs b/src/filters/error.rs
index 9fe58420..1b1f9bc1 100644
--- a/src/filters/error.rs
+++ b/src/filters/error.rs
@@ -37,12 +37,12 @@ impl fmt::Display for FilterError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
FilterError::InvalidInput => write!(f, "invalid value of the `in` attribute"),
- FilterError::InvalidParameter(ref s) => write!(f, "invalid parameter value: {}", s),
+ FilterError::InvalidParameter(ref s) => write!(f, "invalid parameter value: {s}"),
FilterError::BadInputSurfaceStatus(ref status) => {
- write!(f, "invalid status of the input surface: {}", status)
+ write!(f, "invalid status of the input surface: {status}")
}
- FilterError::CairoError(ref status) => write!(f, "Cairo error: {}", status),
- FilterError::Rendering(ref e) => write!(f, "Rendering error: {}", e),
+ FilterError::CairoError(ref status) => write!(f, "Cairo error: {status}"),
+ FilterError::Rendering(ref e) => write!(f, "Rendering error: {e}"),
FilterError::LightingInputTooSmall => write!(
f,
"lighting filter input surface is too small (less than 2×2 pixels)"
diff --git a/src/layout.rs b/src/layout.rs
index f0c79c4f..7e9cf2c7 100644
--- a/src/layout.rs
+++ b/src/layout.rs
@@ -143,7 +143,7 @@ impl StackingContext {
transform: Transform,
values: &ComputedValues,
) -> StackingContext {
- let element_name = format!("{}", element);
+ let element_name = format!("{element}");
let opacity;
let filter;
diff --git a/src/length.rs b/src/length.rs
index 13b9ae74..2f2d57f9 100644
--- a/src/length.rs
+++ b/src/length.rs
@@ -526,7 +526,7 @@ impl fmt::Display for LengthUnit {
LengthUnit::Pc => "pc",
};
- write!(f, "{}", unit)
+ write!(f, "{unit}")
}
}
diff --git a/src/node.rs b/src/node.rs
index 69861258..c83dcfd8 100644
--- a/src/node.rs
+++ b/src/node.rs
@@ -80,7 +80,7 @@ impl fmt::Display for NodeData {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
NodeData::Element(ref e) => {
- write!(f, "{}", e)?;
+ write!(f, "{e}")?;
}
NodeData::Text(_) => {
write!(f, "Chars")?;
diff --git a/src/pattern.rs b/src/pattern.rs
index 69b82c6c..8b47343c 100644
--- a/src/pattern.rs
+++ b/src/pattern.rs
@@ -297,8 +297,8 @@ impl UnresolvedChildren {
match (self, fallback) {
(&Unresolved, &Unresolved) => Unresolved,
- (&WithChildren(ref wc), _) => WithChildren(wc.clone()),
- (_, &WithChildren(ref wc)) => WithChildren(wc.clone()),
+ (WithChildren(wc), _) => WithChildren(wc.clone()),
+ (_, WithChildren(wc)) => WithChildren(wc.clone()),
(_, _) => unreachable!(),
}
}
diff --git a/src/url_resolver.rs b/src/url_resolver.rs
index 4ec9c07c..d62c4483 100644
--- a/src/url_resolver.rs
+++ b/src/url_resolver.rs
@@ -80,7 +80,7 @@ impl UrlResolver {
let base_parent = base_parent.unwrap();
let url_canon =
- canonicalize(&url_path).map_err(|_| AllowedUrlError::CanonicalizationError)?;
+ canonicalize(url_path).map_err(|_| AllowedUrlError::CanonicalizationError)?;
let parent_canon =
canonicalize(base_parent).map_err(|_| AllowedUrlError::CanonicalizationError)?;
diff --git a/src/xml/mod.rs b/src/xml/mod.rs
index c745ef6d..010862e5 100644
--- a/src/xml/mod.rs
+++ b/src/xml/mod.rs
@@ -534,8 +534,7 @@ impl XmlState {
Some("text") => self.acquire_text(&aurl, encoding),
Some(v) => Err(AcquireError::FatalError(format!(
- "unknown 'parse' attribute value: \"{}\"",
- v
+ "unknown 'parse' attribute value: \"{v}\""
))),
}
} else {
@@ -557,19 +556,13 @@ impl XmlState {
let encoding = encoding.unwrap_or("utf-8");
let encoder = encoding_from_whatwg_label(encoding).ok_or_else(|| {
- AcquireError::FatalError(format!(
- "unknown encoding \"{}\" for \"{}\"",
- encoding, aurl
- ))
+ AcquireError::FatalError(format!("unknown encoding \"{encoding}\" for \"{aurl}\""))
})?;
let utf8_data = encoder
.decode(&binary.data, DecoderTrap::Strict)
.map_err(|e| {
- AcquireError::FatalError(format!(
- "could not convert contents of \"{}\" from character encoding \"{}\": {}",
- aurl, encoding, e
- ))
+ AcquireError::FatalError(format!("could not convert contents of \"{aurl}\" from character encoding \"{encoding}\": {e}"))
})?;
self.element_creation_characters(&utf8_data);
diff --git a/tests/src/cmdline/rsvg_convert.rs b/tests/src/cmdline/rsvg_convert.rs
index beec016f..00e89947 100644
--- a/tests/src/cmdline/rsvg_convert.rs
+++ b/tests/src/cmdline/rsvg_convert.rs
@@ -624,7 +624,7 @@ fn invalid_zoom_factor_yields_error() {
.arg("--zoom=foo")
.assert()
.failure()
- .stderr(contains("Invalid value"));
+ .stderr(contains("invalid value"));
}
#[test]