-
Notifications
You must be signed in to change notification settings - Fork 330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf(punycode): avoid double allocation in decode_to_string #894
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #894 +/- ##
=======================================
Coverage 81.70% 81.70%
=======================================
Files 20 20
Lines 3547 3547
=======================================
Hits 2898 2898
Misses 649 649 ☔ View full report in Codecov by Sentry. |
#[inline] | ||
pub fn decode_to_string(input: &str) -> Option<String> { | ||
decode(input).map(|chars| chars.into_iter().collect()) | ||
Some(Decoder::default().decode(input).ok()?.collect()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you maybe add a unit test that exercises this method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure, will do that at the evening
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it is now being tested together with encode_str and decode
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent. Thank you!
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [criterion2](https://bheisler.github.io/criterion.rs/book/index.html) ([source](https://togithub.com/Boshen/criterion2.rs)) | workspace.dependencies | minor | `0.10.0` -> `0.11.0` | | [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.7.2` -> `2.7.4` | | [oxc-browserslist](https://togithub.com/oxc-project/oxc-browserslist) | workspace.dependencies | patch | `0.17.0` -> `0.17.1` | | [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.5.0` -> `2.5.1` | --- ### Release Notes <details> <summary>Boshen/criterion2.rs (criterion2)</summary> ### [`v0.11.0`](https://togithub.com/Boshen/criterion2.rs/blob/HEAD/CHANGELOG.md#0110---2024-06-14) [Compare Source](https://togithub.com/Boshen/criterion2.rs/compare/v0.10.0...v0.11.0) ##### Added - \[**breaking**] remove csv_output ([#​33](https://togithub.com/Boshen/criterion2.rs/pull/33)) - rm crate `criterion-macro` ##### Other - *(deps)* update dependency rust to v1.79.0 ([#​35](https://togithub.com/Boshen/criterion2.rs/pull/35)) - *(deps)* update rust crates ([#​32](https://togithub.com/Boshen/criterion2.rs/pull/32)) - *(deps)* lock file maintenance rust crates ([#​31](https://togithub.com/Boshen/criterion2.rs/pull/31)) - check unused dependencies </details> <details> <summary>BurntSushi/memchr (memchr)</summary> ### [`v2.7.4`](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) ### [`v2.7.3`](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) </details> <details> <summary>oxc-project/oxc-browserslist (oxc-browserslist)</summary> ### [`v0.17.1`](https://togithub.com/oxc-project/oxc-browserslist/blob/HEAD/CHANGELOG.md#0171---2024-06-17) [Compare Source](https://togithub.com/oxc-project/oxc-browserslist/compare/oxc-browserslist-v0.17.0...oxc-browserslist-v0.17.1) ##### Other - *(deps)* update npm packages ([#​45](https://togithub.com/oxc-project/oxc-browserslist/pull/45)) </details> <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.1`](https://togithub.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.0...v2.5.1) #### What's Changed - Be more detailed in documentation of set_query by [@​philippeitis](https://togithub.com/philippeitis) in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [@​bishopcheckmate](https://togithub.com/bishopcheckmate) in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/902](https://togithub.com/servo/rust-url/pull/902) - Add dependabot by [@​oriontvv](https://togithub.com/oriontvv) in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/905](https://togithub.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/906](https://togithub.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [@​SmaugPool](https://togithub.com/SmaugPool) in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [@​mrobinson](https://togithub.com/mrobinson) in [https://github.com/servo/rust-url/pull/914](https://togithub.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - Update URLs by [@​atouchet](https://togithub.com/atouchet) in [https://github.com/servo/rust-url/pull/916](https://togithub.com/servo/rust-url/pull/916) - Fix lint by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/920](https://togithub.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [@​micolous](https://togithub.com/micolous) in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [@​DylanOToole2](https://togithub.com/DylanOToole2) in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [@​aatifsyed](https://togithub.com/aatifsyed) in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [@​mo8it](https://togithub.com/mo8it) in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/923](https://togithub.com/servo/rust-url/pull/923) #### New Contributors - [@​philippeitis](https://togithub.com/philippeitis) made their first contribution in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - [@​bishopcheckmate](https://togithub.com/bishopcheckmate) made their first contribution in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - [@​oriontvv](https://togithub.com/oriontvv) made their first contribution in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - [@​dependabot](https://togithub.com/dependabot) made their first contribution in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - [@​SmaugPool](https://togithub.com/SmaugPool) made their first contribution in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - [@​hsivonen](https://togithub.com/hsivonen) made their first contribution in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - [@​micolous](https://togithub.com/micolous) made their first contribution in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - [@​DylanOToole2](https://togithub.com/DylanOToole2) made their first contribution in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - [@​aatifsyed](https://togithub.com/aatifsyed) made their first contribution in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - [@​mo8it](https://togithub.com/mo8it) made their first contribution in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) **Full Changelog**: servo/rust-url@v2.5.0...v2.5.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update compatible [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [annotate-snippets](https://togithub.com/rust-lang/annotate-snippets-rs) | workspace.dependencies | patch | `0.11.3` -> `0.11.4` | | [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.6` -> `4.5.8` | | [curl-sys](https://togithub.com/alexcrichton/curl-rust) | workspace.dependencies | patch | `0.4.72+curl-8.6.0` -> `0.4.73` | | [libloading](https://togithub.com/nagisa/rust_libloading) | workspace.dependencies | patch | `0.8.3` -> `0.8.4` | | [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.7.2` -> `2.7.4` | | [proptest](https://proptest-rs.github.io/proptest/proptest/index.html) ([source](https://togithub.com/proptest-rs/proptest)) | workspace.dependencies | minor | `1.4.0` -> `1.5.0` | | [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.117` -> `1.0.120` | | [snapbox](https://togithub.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://togithub.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.6.9` -> `0.6.10` | | [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.5.0` -> `2.5.2` | --- ### Release Notes <details> <summary>rust-lang/annotate-snippets-rs (annotate-snippets)</summary> ### [`v0.11.4`](https://togithub.com/rust-lang/annotate-snippets-rs/blob/HEAD/CHANGELOG.md#0114---2024-06-15) [Compare Source](https://togithub.com/rust-lang/annotate-snippets-rs/compare/0.11.3...0.11.4) ##### Fixes - Annotations for `\r\n` are now correctly handled [#​131](https://togithub.com/rust-lang/annotate-snippets-rs/pull/131) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#458---2024-06-28) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.7...v4.5.8) ##### Fixes - Reduce extra flushes ### [`v4.5.7`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#457---2024-06-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.6...v4.5.7) ##### Fixes - Clean up error message when too few arguments for `num_args` </details> <details> <summary>alexcrichton/curl-rust (curl-sys)</summary> ### [`v0.4.73`](https://togithub.com/alexcrichton/curl-rust/compare/curl-sys-0.4.72...curl-sys-0.4.73) [Compare Source](https://togithub.com/alexcrichton/curl-rust/compare/curl-sys-0.4.72...curl-sys-0.4.73) </details> <details> <summary>nagisa/rust_libloading (libloading)</summary> ### [`v0.8.4`](https://togithub.com/nagisa/rust_libloading/compare/0.8.3...0.8.4) [Compare Source](https://togithub.com/nagisa/rust_libloading/compare/0.8.3...0.8.4) </details> <details> <summary>BurntSushi/memchr (memchr)</summary> ### [`v2.7.4`](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) ### [`v2.7.3`](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) </details> <details> <summary>proptest-rs/proptest (proptest)</summary> ### [`v1.5.0`](https://togithub.com/proptest-rs/proptest/compare/v1.4.0...v1.5.0) [Compare Source](https://togithub.com/proptest-rs/proptest/compare/v1.4.0...v1.5.0) </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.120`](https://togithub.com/serde-rs/json/releases/tag/v1.0.120) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.119...v1.0.120) - Correctly specify required version of `indexmap` dependency ([#​1152](https://togithub.com/serde-rs/json/issues/1152), thanks [`@​cforycki](https://togithub.com/cforycki))` ### [`v1.0.119`](https://togithub.com/serde-rs/json/releases/tag/v1.0.119) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.118...v1.0.119) - Add `serde_json::Map::shift_insert` ([#​1149](https://togithub.com/serde-rs/json/issues/1149), thanks [`@​joshka](https://togithub.com/joshka))` ### [`v1.0.118`](https://togithub.com/serde-rs/json/releases/tag/v1.0.118) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.117...v1.0.118) - Implement Hash for serde_json::Value ([#​1127](https://togithub.com/serde-rs/json/issues/1127), thanks [`@​edwardycl](https://togithub.com/edwardycl))` </details> <details> <summary>assert-rs/trycmd (snapbox)</summary> ### [`v0.6.10`](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.6.9...snapbox-v0.6.10) [Compare Source](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.6.9...snapbox-v0.6.10) </details> <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.2`](https://togithub.com/servo/rust-url/releases/tag/v2.5.2) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.1...v2.5.2) #### What's Changed - fix panic on `xn--55555577` by [`@​Byron](https://togithub.com/Byron)` in [https://github.com/servo/rust-url/pull/940](https://togithub.com/servo/rust-url/pull/940) - Update idna to 1.0.1 by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/945](https://togithub.com/servo/rust-url/pull/945) - Revert "Reimplement idna on top of ICU4X" by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/946](https://togithub.com/servo/rust-url/pull/946) This release reverts recent IDNA changes and the MSRV back to rust 1.56 The idna v1.0.1 crate now lives on the [idna-v1x](https://togithub.com/servo/rust-url/tree/idna-v1x) branch. **Full Changelog**: servo/rust-url@v2.5.1...v2.5.2 ### [`v2.5.1`](https://togithub.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.0...v2.5.1) #### What's Changed - Be more detailed in documentation of set_query by [`@​philippeitis](https://togithub.com/philippeitis)` in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [`@​bishopcheckmate](https://togithub.com/bishopcheckmate)` in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/902](https://togithub.com/servo/rust-url/pull/902) - Add dependabot by [`@​oriontvv](https://togithub.com/oriontvv)` in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [`@​dependabot](https://togithub.com/dependabot)` in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [`@​dependabot](https://togithub.com/dependabot)` in [https://github.com/servo/rust-url/pull/905](https://togithub.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [`@​dependabot](https://togithub.com/dependabot)` in [https://github.com/servo/rust-url/pull/906](https://togithub.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [`@​SmaugPool](https://togithub.com/SmaugPool)` in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [`@​mrobinson](https://togithub.com/mrobinson)` in [https://github.com/servo/rust-url/pull/914](https://togithub.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [`@​hsivonen](https://togithub.com/hsivonen)` in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - Update URLs by [`@​atouchet](https://togithub.com/atouchet)` in [https://github.com/servo/rust-url/pull/916](https://togithub.com/servo/rust-url/pull/916) - Fix lint by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/920](https://togithub.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [`@​micolous](https://togithub.com/micolous)` in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [`@​DylanOToole2](https://togithub.com/DylanOToole2)` in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [`@​aatifsyed](https://togithub.com/aatifsyed)` in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [`@​mo8it](https://togithub.com/mo8it)` in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [`@​hsivonen](https://togithub.com/hsivonen)` in [https://github.com/servo/rust-url/pull/923](https://togithub.com/servo/rust-url/pull/923) #### New Contributors - [`@​philippeitis](https://togithub.com/philippeitis)` made their first contribution in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - [`@​bishopcheckmate](https://togithub.com/bishopcheckmate)` made their first contribution in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - [`@​oriontvv](https://togithub.com/oriontvv)` made their first contribution in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - [`@​dependabot](https://togithub.com/dependabot)` made their first contribution in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - [`@​SmaugPool](https://togithub.com/SmaugPool)` made their first contribution in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - [`@​hsivonen](https://togithub.com/hsivonen)` made their first contribution in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - [`@​micolous](https://togithub.com/micolous)` made their first contribution in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - [`@​DylanOToole2](https://togithub.com/DylanOToole2)` made their first contribution in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - [`@​aatifsyed](https://togithub.com/aatifsyed)` made their first contribution in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - [`@​mo8it](https://togithub.com/mo8it)` made their first contribution in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) **Full Changelog**: servo/rust-url@v2.5.0...v2.5.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.5.0` -> `2.5.2` | --- ### Release Notes <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.2`](https://togithub.com/servo/rust-url/releases/tag/v2.5.2) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.1...v2.5.2) #### What's Changed - fix panic on `xn--55555577` by [@​Byron](https://togithub.com/Byron) in [https://github.com/servo/rust-url/pull/940](https://togithub.com/servo/rust-url/pull/940) - Update idna to 1.0.1 by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/945](https://togithub.com/servo/rust-url/pull/945) - Revert "Reimplement idna on top of ICU4X" by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/946](https://togithub.com/servo/rust-url/pull/946) This release reverts recent IDNA changes and the MSRV back to rust 1.56 The idna v1.0.1 crate now lives on the [idna-v1x](https://togithub.com/servo/rust-url/tree/idna-v1x) branch. **Full Changelog**: servo/rust-url@v2.5.1...v2.5.2 ### [`v2.5.1`](https://togithub.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.0...v2.5.1) #### What's Changed - Be more detailed in documentation of set_query by [@​philippeitis](https://togithub.com/philippeitis) in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [@​bishopcheckmate](https://togithub.com/bishopcheckmate) in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/902](https://togithub.com/servo/rust-url/pull/902) - Add dependabot by [@​oriontvv](https://togithub.com/oriontvv) in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/905](https://togithub.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/906](https://togithub.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [@​SmaugPool](https://togithub.com/SmaugPool) in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [@​mrobinson](https://togithub.com/mrobinson) in [https://github.com/servo/rust-url/pull/914](https://togithub.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - Update URLs by [@​atouchet](https://togithub.com/atouchet) in [https://github.com/servo/rust-url/pull/916](https://togithub.com/servo/rust-url/pull/916) - Fix lint by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/920](https://togithub.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [@​micolous](https://togithub.com/micolous) in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [@​DylanOToole2](https://togithub.com/DylanOToole2) in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [@​aatifsyed](https://togithub.com/aatifsyed) in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [@​mo8it](https://togithub.com/mo8it) in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/923](https://togithub.com/servo/rust-url/pull/923) #### New Contributors - [@​philippeitis](https://togithub.com/philippeitis) made their first contribution in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - [@​bishopcheckmate](https://togithub.com/bishopcheckmate) made their first contribution in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - [@​oriontvv](https://togithub.com/oriontvv) made their first contribution in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - [@​dependabot](https://togithub.com/dependabot) made their first contribution in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - [@​SmaugPool](https://togithub.com/SmaugPool) made their first contribution in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - [@​hsivonen](https://togithub.com/hsivonen) made their first contribution in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - [@​micolous](https://togithub.com/micolous) made their first contribution in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - [@​DylanOToole2](https://togithub.com/DylanOToole2) made their first contribution in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - [@​aatifsyed](https://togithub.com/aatifsyed) made their first contribution in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - [@​mo8it](https://togithub.com/mo8it) made their first contribution in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) **Full Changelog**: servo/rust-url@v2.5.0...v2.5.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/matter-labs/zksync-withdrawal-finalizer). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Hey,
while indeed
decode_to_string
is a nice ergonomics addition, the fact of being a wrapper over thedecode
results in an intermediateVec
.Since the implementation of it can be the same as
decode
and it's quite straightforward, maybe we could get rid of double alloc cheaply