Open
Conversation
c98f0c5 to
e991b18
Compare
e991b18 to
9a0a2f4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.92.0→1.94.0Release Notes
rust-lang/rust (rust)
v1.94.0Compare Source
==========================
Language
dead_codelint level of the corresponding traits and trait itemsunused_visibilitieslint for visibility onconst _declarationsPlatform Support
riscv64im-unknown-none-elfas a tier 3 targetRefer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
T: Ordbound for someBinaryHeap<T>methods.Stabilized APIs
<[T]>::array_windows<[T]>::element_offsetLazyCell::getLazyCell::get_mutLazyCell::force_mutLazyLock::getLazyLock::get_mutLazyLock::force_mutimpl TryFrom<char> for usizestd::iter::Peekable::next_if_mapstd::iter::Peekable::next_if_map_mutavx512fp16intrinsics(excluding those that depend directly on the unstable
f16type)(excluding those that depend directly on the unstable
f16type)f32::consts::EULER_GAMMAf64::consts::EULER_GAMMAf32::consts::GOLDEN_RATIOf64::consts::GOLDEN_RATIOThese previously stable APIs are now stable in const contexts:
f32::mul_addf64::mul_addCargo
CARGO_BIN_EXE_<crate>available at runtimeCompatibility Notes
dyn-typesSome finer details of how precise closure captures get affected by pattern matching have been changed. In some cases, this can cause a non-move closure that was previously capturing an entire variable by move, to now capture only part of that variable by move, and other parts by borrow. This can cause the borrow checker to complain where it previously didn't, or cause
Dropto run at a different point in time.#[macro_use]This will raise an error if macros of the same name are glob imported.
For example if a crate defines their own
matchesmacro and then glob imports that,it's now ambiguous whether the custom or standard library
matchesis meant andan explicit import of the name is required to resolve the ambiguity.
One exception is
core::panicandstd::panic, if their import is ambiguousa new warning (
ambiguous_panic_imports) is raised.This may raise a new warning (
ambiguous_panic_imports) on#![no_std]code glob importing the std crate.Both
core::panic!andstd::panic!are then in scope and which is used is ambiguous.include!(…)sThis can cause previously working includes to no longer compile if they included files which started with a shebang.
This unifies behavior between local and cross-crate errors on these exports, which may introduce new ambiguity errors.
These attributes currently have no effect in this position.
std::time::SystemTime::checked_sub_durationwill returnNonefor times before the Windows epoch (1/1/1601)'aare now NFC normalized.Any paths emitted by compiler now always respect the relative-ness of the paths and
--remap-path-prefixgiven originally.One side-effect of this change is that paths emitted for local crates in Cargo (path dependencies and workspace members) are no longer absolute but relative when emitted as part of a diagnostic in a downstream crate.
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.
annotate-snippetsfor error emissionThis should preserve mostly the same outputs in rustc error messages.
v1.93.1Compare Source
===========================
clippy::panicking_unwrapfalse-positive on field access with implicit deref.wasm32-wasip2target.v1.93.0Compare Source
==========================
Language
vector-related target features and theis_s390x_feature_detected!macrosystemABIcfgpredicateasm_cfgconstitems that contain mutable references tostatic(which is very unsafe, but not always UB)const_item_interior_mutationslint to warn against calls which mutate interior mutableconstitemsfunction_casts_as_integerlintCompiler
-Cjump-tables=bool. The flag was previously called-Zno-jump-tables.Platform Support
riscv64a23-unknown-linux-gnuto Tier 2 (without host tools)Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
specializationon theCopytrait as it is unsound in the presence of lifetime dependentCopyimplementations. This may result in some performance regressions as some standard library APIs may now callClone::cloneinstead of performing bitwise copiesstd::thread::current()BTree::appendnot update existing keys when appending an entry which already existsT: RefUnwindSafeforvec::IntoIter<T>: UnwindSafeStabilized APIs
<[MaybeUninit<T>]>::assume_init_drop<[MaybeUninit<T>]>::assume_init_ref<[MaybeUninit<T>]>::assume_init_mut<[MaybeUninit<T>]>::write_copy_of_slice<[MaybeUninit<T>]>::write_clone_of_sliceString::into_raw_partsVec::into_raw_parts<iN>::unchecked_neg<iN>::unchecked_shl<iN>::unchecked_shr<uN>::unchecked_shl<uN>::unchecked_shr<[T]>::as_array<[T]>::as_mut_array<*const [T]>::as_array<*mut [T]>::as_mut_arrayVecDeque::pop_front_ifVecDeque::pop_back_ifDuration::from_nanos_u128char::MAX_LEN_UTF8char::MAX_LEN_UTF16std::fmt::from_fnstd::fmt::FromFnCargo
cargo tree, support long forms for--formatvariables--workspacetocargo cleanRustdoc
#![doc(document_private_items)]importhtml_favicon_url,html_logo_url,html_playground_url,issue_tracker_base_url, orhtml_no_sourceeither has a missing value, an unexpected value, or a value of the wrong type, rustdoc will emit the deny-by-default lintrustdoc::invalid_doc_attributes.Compatibility Notes
pin_v2into the builtin attributes namespacepanic=unwindwas changed from the JS exception handling ABI to the wasm exception handling ABI. If linking C/C++ object files with Rust objects,-fwasm-exceptionsmust be passed to the linker now. On nightly Rust, it is possible to get the old behavior with-Zwasm-emscripten-eh=false -Zbuild-std, but it will be removed in a future release.#[test]attribute, used to define tests, was previously ignored in various places where it had no meaning (e.g on trait methods or types). Putting the#[test]attribute in these places is no longer ignored, and will now result in an error; this may also result in errors when generating rustdoc. Error whentestattribute is applied to structsCARGO_CFG_DEBUG_ASSERTIONSenvironment variable in more situations. This will cause crates depending onstatic-initversions 1.0.1 to 1.0.3 to fail compilation with "failed to resolve: use of unresolved module or unlinked crateparking_lot". See the linked issue for details.offset_of!macro are now checked to be well formed.cargo publishno longer emits.cratefiles as a final artifact for user access when thebuild.build-dirconfig is unsetderef_nullptrlint from warn-by-default to deny-by-default...function parameters without a pattern outside ofexternblocksrepr(C)enums whose discriminant values do not fit into ac_intorc_uintrepr(C)types as part ofrepr(transparent)Configuration
📅 Schedule: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles.
🚦 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.
This PR has been generated by Renovate Bot.