crate-ci / git-conventional

Conventional Commit API
docs.rs/git-conventional
Apache License 2.0
28 stars 7 forks source link

chore(deps): update msrv to v1.73 #49

Closed renovate[bot] closed 9 months ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Update Change Pending
rust minor 1.69.0 -> 1.73 1.76 (+2)
rust minor 1.69 -> 1.73 1.76 (+2)

Release Notes

rust-lang/rust (rust) ### [`v1.73`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1730-2023-10-05) [Compare Source](https://togithub.com/rust-lang/rust/compare/1.72.0...1.73.0) \========================== ## Language - [Uplift `clippy::fn_null_check` lint as `useless_ptr_null_checks`.](https://togithub.com/rust-lang/rust/pull/111717/) - [Make `noop_method_call` warn by default.](https://togithub.com/rust-lang/rust/pull/111916/) - [Support interpolated block for `try` and `async` in macros.](https://togithub.com/rust-lang/rust/pull/112953/) - [Make `unconditional_recursion` lint detect recursive drops.](https://togithub.com/rust-lang/rust/pull/113902/) - [Future compatibility warning for some impls being incorrectly considered not overlapping.](https://togithub.com/rust-lang/rust/pull/114023/) - [The `invalid_reference_casting` lint is now **deny-by-default** (instead of allow-by-default)](https://togithub.com/rust-lang/rust/pull/112431) ## Compiler - [Write version information in a `.comment` section like GCC/Clang.](https://togithub.com/rust-lang/rust/pull/97550/) - [Add documentation on v0 symbol mangling.](https://togithub.com/rust-lang/rust/pull/97571/) - [Stabilize `extern "thiscall"` and `"thiscall-unwind"` ABIs.](https://togithub.com/rust-lang/rust/pull/114562/) - [Only check outlives goals on impl compared to trait.](https://togithub.com/rust-lang/rust/pull/109356/) - [Infer type in irrefutable slice patterns with fixed length as array.](https://togithub.com/rust-lang/rust/pull/113199/) - [Discard default auto trait impls if explicit ones exist.](https://togithub.com/rust-lang/rust/pull/113312/) - Add several new tier 3 targets: - [`aarch64-unknown-teeos`](https://togithub.com/rust-lang/rust/pull/113480/) - [`csky-unknown-linux-gnuabiv2`](https://togithub.com/rust-lang/rust/pull/113658/) - [`riscv64-linux-android`](https://togithub.com/rust-lang/rust/pull/112858/) - [`riscv64gc-unknown-hermit`](https://togithub.com/rust-lang/rust/pull/114004/) - [`x86_64-unikraft-linux-musl`](https://togithub.com/rust-lang/rust/pull/113411/) - [`x86_64-unknown-linux-ohos`](https://togithub.com/rust-lang/rust/pull/113061/) - [Add `wasm32-wasi-preview1-threads` as a tier 2 target.](https://togithub.com/rust-lang/rust/pull/112922/) Refer to Rust's \[platform support page]\[platform-support-doc] for more information on Rust's tiered platform support. ## Libraries - [Add `Read`, `Write` and `Seek` impls for `Arc`.](https://togithub.com/rust-lang/rust/pull/94748/) - [Merge functionality of `io::Sink` into `io::Empty`.](https://togithub.com/rust-lang/rust/pull/98154/) - [Implement `RefUnwindSafe` for `Backtrace`](https://togithub.com/rust-lang/rust/pull/100455/) - [Make `ExitStatus` implement `Default`](https://togithub.com/rust-lang/rust/pull/106425/) - [`impl SliceIndex for (Bound, Bound)`](https://togithub.com/rust-lang/rust/pull/111081/) - [Change default panic handler message format.](https://togithub.com/rust-lang/rust/pull/112849/) - [Cleaner `assert_eq!` & `assert_ne!` panic messages.](https://togithub.com/rust-lang/rust/pull/111071/) - [Correct the (deprecated) Android `stat` struct definitions.](https://togithub.com/rust-lang/rust/pull/113130/) ## Stabilized APIs - [Unsigned `{integer}::div_ceil`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.div_ceil) - [Unsigned `{integer}::next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.next_multiple_of) - [Unsigned `{integer}::checked_next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.checked_next_multiple_of) - [`std::ffi::FromBytesUntilNulError`](https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html) - [`std::os::unix::fs::chown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chown.html) - [`std::os::unix::fs::fchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.fchown.html) - [`std::os::unix::fs::lchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.lchown.html) - [`LocalKey::>::get`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.get) - [`LocalKey::>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set) - [`LocalKey::>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take) - [`LocalKey::>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace) - [`LocalKey::>::with_borrow`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow) - [`LocalKey::>::with_borrow_mut`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow_mut) - [`LocalKey::>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set-1) - [`LocalKey::>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take-1) - [`LocalKey::>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace-1) These APIs are now stable in const contexts: - [`rc::Weak::new`](https://doc.rust-lang.org/stable/alloc/rc/struct.Weak.html#method.new) - [`sync::Weak::new`](https://doc.rust-lang.org/stable/alloc/sync/struct.Weak.html#method.new) - [`NonNull::as_ref`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_ref) ## Cargo - [Bail out an error when using `cargo::` in custom build script.](https://togithub.com/rust-lang/cargo/pull/12332/) ## Misc ## Compatibility Notes - [Update the minimum external LLVM to 15.](https://togithub.com/rust-lang/rust/pull/114148/) - [Check for non-defining uses of return position `impl Trait`.](https://togithub.com/rust-lang/rust/pull/112842/) ## Internal Changes These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools. - [Remove LLVM pointee types, supporting only opaque pointers.](https://togithub.com/rust-lang/rust/pull/105545/) - [Port PGO/LTO/BOLT optimized build pipeline to Rust.](https://togithub.com/rust-lang/rust/pull/112235/) - [Replace in-tree `rustc_apfloat` with the new version of the crate.](https://togithub.com/rust-lang/rust/pull/113843/) - [Update to LLVM 17.](https://togithub.com/rust-lang/rust/pull/114048/) - [Add `internal_features` lint for internal unstable features.](https://togithub.com/rust-lang/rust/pull/108955/) - [Mention style for new syntax in tracking issue template.](https://togithub.com/rust-lang/rust/pull/113586/) ### [`v1.72`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1721-2023-09-19) [Compare Source](https://togithub.com/rust-lang/rust/compare/1.71.0...1.72.0) \=========================== - [Adjust codegen change to improve LLVM codegen](https://togithub.com/rust-lang/rust/pull/115236) - [rustdoc: Fix self ty params in objects with lifetimes](https://togithub.com/rust-lang/rust/pull/115276) - [Fix regression in compile times](https://togithub.com/rust-lang/rust/pull/114948) - Resolve some ICE regressions in the compiler: - [#​115215](https://togithub.com/rust-lang/rust/pull/115215) - [#​115559](https://togithub.com/rust-lang/rust/pull/115559) ### [`v1.71`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1711-2023-08-03) [Compare Source](https://togithub.com/rust-lang/rust/compare/1.70.0...1.71.0) \=========================== - [Fix CVE-2023-38497: Cargo did not respect the umask when extracting dependencies](https://togithub.com/rust-lang/cargo/security/advisories/GHSA-j3xp-wfr4-hx87) - [Fix bash completion for users of Rustup](https://togithub.com/rust-lang/rust/pull/113579) - [Do not show `suspicious_double_ref_op` lint when calling `borrow()`](https://togithub.com/rust-lang/rust/pull/112517) - [Fix ICE: substitute types before checking inlining compatibility](https://togithub.com/rust-lang/rust/pull/113802) - [Fix ICE: don't use `can_eq` in `derive(..)` suggestion for missing method](https://togithub.com/rust-lang/rust/pull/111516) - [Fix building Rust 1.71.0 from the source tarball](https://togithub.com/rust-lang/rust/issues/113678) ### [`v1.70`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1700-2023-06-01) [Compare Source](https://togithub.com/rust-lang/rust/compare/1.69.0...1.70.0) \========================== ## Language - [Relax ordering rules for `asm!` operands](https://togithub.com/rust-lang/rust/pull/105798/) - [Properly allow macro expanded `format_args` invocations to uses captures](https://togithub.com/rust-lang/rust/pull/106505/) - [Lint ambiguous glob re-exports](https://togithub.com/rust-lang/rust/pull/107880/) - [Perform const and unsafe checking for expressions in `let _ = expr` position.](https://togithub.com/rust-lang/rust/pull/102256/) ## Compiler - [Extend -Cdebuginfo with new options and named aliases](https://togithub.com/rust-lang/rust/pull/109808/) This provides a smaller version of debuginfo for cases that only need line number information (`-Cdebuginfo=line-tables-only`), which may eventually become the default for `-Cdebuginfo=1`. - [Make `unused_allocation` lint against `Box::new` too](https://togithub.com/rust-lang/rust/pull/104363/) - [Detect uninhabited types early in const eval](https://togithub.com/rust-lang/rust/pull/109435/) - [Switch to LLD as default linker for {arm,thumb}v4t-none-eabi](https://togithub.com/rust-lang/rust/pull/109721/) - [Add tier 3 target `loongarch64-unknown-linux-gnu`](https://togithub.com/rust-lang/rust/pull/96971) - [Add tier 3 target for `i586-pc-nto-qnx700` (QNX Neutrino RTOS, version 7.0)](https://togithub.com/rust-lang/rust/pull/109173/), - [Insert alignment checks for pointer dereferences as debug assertions](https://togithub.com/rust-lang/rust/pull/98112) This catches undefined behavior at runtime, and may cause existing code to fail. Refer to Rust's \[platform support page]\[platform-support-doc] for more information on Rust's tiered platform support. ## Libraries - [Document NonZeroXxx layout guarantees](https://togithub.com/rust-lang/rust/pull/94786/) - [Windows: make `Command` prefer non-verbatim paths](https://togithub.com/rust-lang/rust/pull/96391/) - [Implement Default for some alloc/core iterators](https://togithub.com/rust-lang/rust/pull/99929/) - [Fix handling of trailing bare CR in str::lines](https://togithub.com/rust-lang/rust/pull/100311/) - [allow negative numeric literals in `concat!`](https://togithub.com/rust-lang/rust/pull/106844/) - [Add documentation about the memory layout of `Cell`](https://togithub.com/rust-lang/rust/pull/106921/) - [Use `partial_cmp` to implement tuple `lt`/`le`/`ge`/`gt`](https://togithub.com/rust-lang/rust/pull/108157/) - [Stabilize `atomic_as_ptr`](https://togithub.com/rust-lang/rust/pull/108419/) - [Stabilize `nonnull_slice_from_raw_parts`](https://togithub.com/rust-lang/rust/pull/97506/) - [Partial stabilization of `once_cell`](https://togithub.com/rust-lang/rust/pull/105587/) - [Stabilize `nonzero_min_max`](https://togithub.com/rust-lang/rust/pull/106633/) - [Flatten/inline format_args!() and (string and int) literal arguments into format_args!()](https://togithub.com/rust-lang/rust/pull/106824/) - [Stabilize movbe target feature](https://togithub.com/rust-lang/rust/pull/107711/) - [don't splice from files into pipes in io::copy](https://togithub.com/rust-lang/rust/pull/108283/) - [Add a builtin unstable `FnPtr` trait that is implemented for all function pointers](https://togithub.com/rust-lang/rust/pull/108080/) This extends `Debug`, `Pointer`, `Hash`, `PartialEq`, `Eq`, `PartialOrd`, and `Ord` implementations for function pointers with all ABIs. ## Stabilized APIs - [`NonZero*::MIN/MAX`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI8.html#associatedconstant.MIN) - [`BinaryHeap::retain`](https://doc.rust-lang.org/stable/std/collections/struct.BinaryHeap.html#method.retain) - [`Default for std::collections::binary_heap::IntoIter`](https://doc.rust-lang.org/stable/std/collections/binary_heap/struct.IntoIter.html) - [`Default for std::collections::btree_map::{IntoIter, Iter, IterMut}`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.IntoIter.html) - [`Default for std::collections::btree_map::{IntoKeys, Keys}`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.IntoKeys.html) - [`Default for std::collections::btree_map::{IntoValues, Values}`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.IntoValues.html) - [`Default for std::collections::btree_map::Range`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.Range.html) - [`Default for std::collections::btree_set::{IntoIter, Iter}`](https://doc.rust-lang.org/stable/std/collections/btree_set/struct.IntoIter.html) - [`Default for std::collections::btree_set::Range`](https://doc.rust-lang.org/stable/std/collections/btree_set/struct.Range.html) - [`Default for std::collections::linked_list::{IntoIter, Iter, IterMut}`](https://doc.rust-lang.org/stable/alloc/collections/linked_list/struct.IntoIter.html) - [`Default for std::vec::IntoIter`](https://doc.rust-lang.org/stable/alloc/vec/struct.IntoIter.html#impl-Default-for-IntoIter%3CT,+A%3E) - [`Default for std::iter::Chain`](https://doc.rust-lang.org/stable/std/iter/struct.Chain.html) - [`Default for std::iter::Cloned`](https://doc.rust-lang.org/stable/std/iter/struct.Cloned.html) - [`Default for std::iter::Copied`](https://doc.rust-lang.org/stable/std/iter/struct.Copied.html) - [`Default for std::iter::Enumerate`](https://doc.rust-lang.org/stable/std/iter/struct.Enumerate.html) - [`Default for std::iter::Flatten`](https://doc.rust-lang.org/stable/std/iter/struct.Flatten.html) - [`Default for std::iter::Fuse`](https://doc.rust-lang.org/stable/std/iter/struct.Fuse.html) - [`Default for std::iter::Rev`](https://doc.rust-lang.org/stable/std/iter/struct.Rev.html) - [`Default for std::slice::Iter`](https://doc.rust-lang.org/stable/std/slice/struct.Iter.html) - [`Default for std::slice::IterMut`](https://doc.rust-lang.org/stable/std/slice/struct.IterMut.html) - [`Rc::into_inner`](https://doc.rust-lang.org/stable/alloc/rc/struct.Rc.html#method.into_inner) - [`Arc::into_inner`](https://doc.rust-lang.org/stable/alloc/sync/struct.Arc.html#method.into_inner) - [`std::cell::OnceCell`](https://doc.rust-lang.org/stable/std/cell/struct.OnceCell.html) - [`Option::is_some_and`](https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.is_some_and) - [`NonNull::slice_from_raw_parts`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.slice_from_raw_parts) - [`Result::is_ok_and`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.is_ok_and) - [`Result::is_err_and`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.is_err_and) - [`std::sync::atomic::Atomic*::as_ptr`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicU8.html#method.as_ptr) - [`std::io::IsTerminal`](https://doc.rust-lang.org/stable/std/io/trait.IsTerminal.html) - [`std::os::linux::net::SocketAddrExt`](https://doc.rust-lang.org/stable/std/os/linux/net/trait.SocketAddrExt.html) - [`std::os::unix::net::UnixDatagram::bind_addr`](https://doc.rust-lang.org/stable/std/os/unix/net/struct.UnixDatagram.html#method.bind_addr) - [`std::os::unix::net::UnixDatagram::connect_addr`](https://doc.rust-lang.org/stable/std/os/unix/net/struct.UnixDatagram.html#method.connect_addr) - [`std::os::unix::net::UnixDatagram::send_to_addr`](https://doc.rust-lang.org/stable/std/os/unix/net/struct.UnixDatagram.html#method.send_to_addr) - [`std::os::unix::net::UnixListener::bind_addr`](https://doc.rust-lang.org/stable/std/os/unix/net/struct.UnixListener.html#method.bind_addr) - [`std::path::Path::as_mut_os_str`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#method.as_mut_os_str) - [`std::sync::OnceLock`](https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html) ## Cargo - [Add `CARGO_PKG_README`](https://togithub.com/rust-lang/cargo/pull/11645/) - [Make `sparse` the default protocol for crates.io](https://togithub.com/rust-lang/cargo/pull/11791/) - [Accurately show status when downgrading dependencies](https://togithub.com/rust-lang/cargo/pull/11839/) - [Use registry.default for login/logout](https://togithub.com/rust-lang/cargo/pull/11949/) - [Stabilize `cargo logout`](https://togithub.com/rust-lang/cargo/pull/11950/) ## Misc - [Stabilize rustdoc `--test-run-directory`](https://togithub.com/rust-lang/rust/pull/103682/) ## Compatibility Notes - [Prevent stable `libtest` from supporting `-Zunstable-options`](https://togithub.com/rust-lang/rust/pull/109044/) - [Perform const and unsafe checking for expressions in `let _ = expr` position.](https://togithub.com/rust-lang/rust/pull/102256/) - [WebAssembly targets enable `sign-ext` and `mutable-globals` features in codegen](https://togithub.com/rust-lang/rust/issues/109807) This may cause incompatibility with older execution environments. - [Insert alignment checks for pointer dereferences as debug assertions](https://togithub.com/rust-lang/rust/pull/98112) This catches undefined behavior at runtime, and may cause existing code to fail. ## Internal Changes These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools. - [Upgrade to LLVM 16](https://togithub.com/rust-lang/rust/pull/109474/) - [Use SipHash-1-3 instead of SipHash-2-4 for StableHasher](https://togithub.com/rust-lang/rust/pull/107925/)

Configuration

📅 Schedule: Branch creation - " *" (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.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.



This PR has been generated by Mend Renovate. View repository job log here.

alerque commented 1 year ago

Why? Bumping the MSRV is a breaking change and shouldn't be done if the project doesn't actually need it, and if it does it should be marked as breaking. Just bumping because you can is a terrible idea.

epage commented 1 year ago

Bumping MSRV is not generally recognized as a breaking change. It is subset of "build environment requirements". If those were considered breaking changes, then every time rustc demotes a target between tiers, requires new glibc, etc, rustc would need to bump its major version.

As for proactively bumping MSRV,

Rarely have I seen someone have a fixed MSRV policy that can generally work for people (Debian being one of the main ones). Instead other open source projects tend to have a sliding MSRV window, like 3 releases or 6 months, so making my MSRV policy variable does not help any of them.