-
-
Notifications
You must be signed in to change notification settings - Fork 359
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
refactor: avoid unstable let_chains #628
Conversation
Thank you in advance @strager! I wrote so much |
Sorry this requires a CLA :-( |
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.
@Boshen Here's a preview of a world without let_chains.
@strager You are free to refactor some of the code. I don't have a preferred style as long as CI passes 😁 |
In general, let-else is stabilized, maybe it would be worth looking into that for some of these places too? |
The let_chains Rust feature is unstable, preventing Oxc from using a stable Rust compiler. Refactor the code to avoid let_chains.
Removing uses of let_chains now allows rustfmt to format some files. Run 'cargo fmt' to reformat these files.
Note to maintainers: I prefer that this pull request be rebased or merged as-is, not squashed. |
Thank you both @strager and @magic-akari! One step closer to stable Rust. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | | | lockFileMaintenance | All locks refreshed | | [napi](https://togithub.com/napi-rs/napi-rs) | workspace.dependencies | patch | `2.16.4` -> `2.16.6` | | [napi-derive](https://togithub.com/napi-rs/napi-rs) | workspace.dependencies | patch | `2.16.3` -> `2.16.4` | | [num-bigint](https://togithub.com/rust-num/num-bigint) | workspace.dependencies | patch | `0.4.4` -> `0.4.5` | | [petgraph](https://togithub.com/petgraph/petgraph) | workspace.dependencies | patch | `0.6.4` -> `0.6.5` | | [proc-macro2](https://togithub.com/dtolnay/proc-macro2) | workspace.dependencies | patch | `1.0.81` -> `1.0.82` | | [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.200` -> `1.0.201` | | [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.116` -> `1.0.117` | | [trybuild](https://togithub.com/dtolnay/trybuild) | workspace.dependencies | patch | `1.0.93` -> `1.0.95` | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Release Notes <details> <summary>napi-rs/napi-rs (napi)</summary> ### [`v2.16.6`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.16.6) [Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.5...napi@2.16.6) #### What's Changed - fix(napi): panic when deserializing empty buffer with Rust 1.78 by [@​mischnic](https://togithub.com/mischnic) in [napi-rs/napi-rs#2094 **Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.5...napi@2.16.6 ### [`v2.16.5`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.16.5) [Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.4...napi@2.16.5) ##### What's Changed - Fix panic in JsArrayBufferValue as_ref/as_mut with Rust 1.78 by [@​tronical](https://togithub.com/tronical) in [napi-rs/napi-rs#2083 - fix(napi): make sure env without exception pending before throw error by [@​southorange0929](https://togithub.com/southorange0929) in [napi-rs/napi-rs#2092 **Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.4...napi@2.16.5 </details> <details> <summary>rust-num/num-bigint (num-bigint)</summary> ### [`v0.4.5`](https://togithub.com/rust-num/num-bigint/blob/HEAD/RELEASES.md#Release-045-2024-05-06) [Compare Source](https://togithub.com/rust-num/num-bigint/compare/num-bigint-0.4.4...num-bigint-0.4.5) - [Upgrade to 2021 edition, **MSRV 1.60**][292] - [Add `const ZERO` and implement `num_traits::ConstZero`][298] - [Add `modinv` methods for the modular inverse][288] - [Optimize multiplication with imbalanced operands][295] - [Optimize scalar division on x86 and x86-64][236] **Contributors**: [@​cuviper](https://togithub.com/cuviper), [@​joelonsql](https://togithub.com/joelonsql), [@​waywardmonkeys](https://togithub.com/waywardmonkeys) [236]: https://togithub.com/rust-num/num-bigint/pull/236 [288]: https://togithub.com/rust-num/num-bigint/pull/288 [292]: https://togithub.com/rust-num/num-bigint/pull/292 [295]: https://togithub.com/rust-num/num-bigint/pull/295 [298]: https://togithub.com/rust-num/num-bigint/pull/298 </details> <details> <summary>petgraph/petgraph (petgraph)</summary> ### [`v0.6.5`](https://togithub.com/petgraph/petgraph/blob/HEAD/RELEASES.rst#Version-065-2024-05-06) [Compare Source](https://togithub.com/petgraph/petgraph/compare/petgraph@v0.6.4...petgraph@v0.6.5) \========================== - Add rayon support for `GraphMap` (`#573`*, `#615`*) - Add `Topo::with_initials` method (`#585`\_) - Add logo to the project (`#598`\_) - Add Ford-Fulkerson algorithm (`#640`\_) - Update `itertools` to 0.12.1 (`#628`\_) - Update `GraphMap` to allow custom hash functions (`#623`\_) - Fix documentation (`#630`\_) - Fix clippy warnings (`#627`\_) - (internal) Fix remove old `copyclone` macro (`#601`\_) - (internal) Move minimum spanning tree into own module (`#624`\_) .. \_`#573`: [petgraph/petgraph#573 .. \_`#615`: [petgraph/petgraph#615 .. \_`#585`: [petgraph/petgraph#585 .. \_`#598`: [petgraph/petgraph#598 .. \_`#640`: [petgraph/petgraph#640 .. \_`#628`: [petgraph/petgraph#628 .. \_`#623`: [petgraph/petgraph#623 .. \_`#630`: [petgraph/petgraph#630 .. \_`#627`: [petgraph/petgraph#627 .. \_`#601`: [petgraph/petgraph#601 .. \_`#624`: [petgraph/petgraph#624 </details> <details> <summary>dtolnay/proc-macro2 (proc-macro2)</summary> ### [`v1.0.82`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.82) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.81...1.0.82) - Resolve unexpected_cfgs warning ([#​456](https://togithub.com/dtolnay/proc-macro2/issues/456)) </details> <details> <summary>serde-rs/serde (serde)</summary> ### [`v1.0.201`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.201) [Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.200...v1.0.201) - Resolve unexpected_cfgs warning ([#​2737](https://togithub.com/serde-rs/serde/issues/2737)) </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.117`](https://togithub.com/serde-rs/json/releases/tag/v1.0.117) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.116...v1.0.117) - Resolve unexpected_cfgs warning ([#​1130](https://togithub.com/serde-rs/json/issues/1130)) </details> <details> <summary>dtolnay/trybuild (trybuild)</summary> ### [`v1.0.95`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.95) [Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.94...1.0.95) - Keep long type names in diagnostics so that test output does not vary depending on the length of the absolute filepath of the crate ([#​269](https://togithub.com/dtolnay/trybuild/issues/269)) ### [`v1.0.94`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.94) [Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.93...1.0.94) - Resolve unexpected_cfgs warning ([#​268](https://togithub.com/dtolnay/trybuild/issues/268)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
The let_chains Rust feature is unstable, preventing Oxc from using a stable Rust compiler. Refactor the code to avoid let_chains.
#626