diff options
author | Marge Bot <marge-bot@gnome.org> | 2023-02-09 00:54:28 +0000 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2023-02-09 00:54:28 +0000 |
commit | 6054a7634fb0184ef8ccee87ff7079eaba03f23d (patch) | |
tree | ae50622b472abb1ab45637a8bb2e084991a98c76 | |
parent | 805e4ed8849aeb563c5b92a18a518a5d15e924a3 (diff) | |
parent | f6d7ab0c71777080405dd0b79952424c748f681e (diff) | |
download | librsvg-6054a7634fb0184ef8ccee87ff7079eaba03f23d.tar.gz |
Merge branch 'bilelmoussaoui/update' into 'main'
Traditional gtk-rs update
See merge request GNOME/librsvg!792
-rw-r--r-- | .gitlab-ci.yml | 8 | ||||
-rw-r--r-- | Cargo.lock | 441 | ||||
-rw-r--r-- | Cargo.toml | 22 | ||||
-rw-r--r-- | build.rs | 10 | ||||
-rw-r--r-- | ci/check_rust_versions.py | 47 | ||||
-rw-r--r-- | ci/container_builds.yml | 6 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | devel-docs/ci.rst | 8 | ||||
-rw-r--r-- | devel-docs/devel_environment.rst | 2 | ||||
-rw-r--r-- | devel-docs/releasing.rst | 10 | ||||
-rw-r--r-- | gdk-pixbuf-loader/Cargo.lock | 238 | ||||
-rw-r--r-- | gdk-pixbuf-loader/Cargo.toml | 8 | ||||
-rw-r--r-- | gdk-pixbuf-loader/src/lib.rs | 63 | ||||
-rw-r--r-- | src/accept_language.rs | 10 | ||||
-rw-r--r-- | src/bin/rsvg-bench.rs | 6 | ||||
-rw-r--r-- | src/bin/rsvg-convert.rs | 31 | ||||
-rw-r--r-- | src/c_api/handle.rs | 30 | ||||
-rw-r--r-- | src/c_api/pixbuf_utils.rs | 6 | ||||
-rw-r--r-- | src/cond.rs | 2 | ||||
-rw-r--r-- | src/document.rs | 10 | ||||
-rw-r--r-- | src/error.rs | 38 | ||||
-rw-r--r-- | src/filter.rs | 2 | ||||
-rw-r--r-- | src/filter_func.rs | 4 | ||||
-rw-r--r-- | src/filters/error.rs | 8 | ||||
-rw-r--r-- | src/layout.rs | 2 | ||||
-rw-r--r-- | src/length.rs | 2 | ||||
-rw-r--r-- | src/node.rs | 2 | ||||
-rw-r--r-- | src/pattern.rs | 4 | ||||
-rw-r--r-- | src/url_resolver.rs | 2 | ||||
-rw-r--r-- | src/xml/mod.rs | 13 | ||||
-rw-r--r-- | tests/src/cmdline/rsvg_convert.rs | 2 |
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' @@ -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" @@ -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" @@ -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] |