-
Notifications
You must be signed in to change notification settings - Fork 1
Sync cheri-rust:master with rust-lang/rust:master #3
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
Closed
Conversation
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
This updates the rust-version file to 425a9c0.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 425a9c0 Filtered ref: 7e955d5a6c676a099595bdfaec0705d3703e7a3c This merge was created using https://github.com/rust-lang/josh-sync.
Fix outdated doc comment This updates the documentation comment for `Type::is_doc_subtype_of` to more accurately describe its purpose as a subtyping check, rather than equality fixes rust-lang/rust#138572 r? ````````````@tgross35````````````
Port `#[custom_mir(..)]` to the new attribute system r? ``````````@jdonszelmann``````````
Implement declarative (`macro_rules!`) derive macros (RFC 3698) This is a draft for review, and should not be merged yet. This is layered atop rust-lang/rust#145153 , and has only two additional commits atop that. The first handles parsing and provides a test for various parse errors. The second implements expansion and handles application. This implements RFC 3698, "Declarative (`macro_rules!`) derive macros". Tracking issue: rust-lang/rust#143549 This has one remaining issue, which I could use some help debugging: in `tests/ui/macros/macro-rules-derive-error.rs`, the diagnostics for `derive(fn_only)` (for a `fn_only` with no `derive` rules) and `derive(ForwardReferencedDerive)` both get emitted twice, as a duplicate diagnostic. From what I can tell via adding some debugging code, `unresolved_macro_suggestions` is getting called twice from `finalize_macro_resolutions` for each of them, because `self.single_segment_macro_resolutions` has two entries for the macro, with two different `parent_scope` values. I'm not clear on why that happened; it doesn't happen with the equivalent code using attrs. I'd welcome any suggestions for fixing this.
Fix `-Zregparm` for LLVM builtins
This fixes the issue where `-Zregparm=N` was not working correctly when calling LLVM intrinsics
By default on `x86-32`, arguments are passed on the stack. The `-Zregparm=N` flag allows the first `N` arguments to be passed in registers instead.
When calling intrinsics like `memset`, LLVM still passes parameters on the stack, which prevents optimizations like tail calls.
As proposed by ````@tgross35,```` I fixed this by setting the `NumRegisterParameters` LLVM module flag to `N` when the `-Zregparm=N` is set.
```rust
// compiler/rust_codegen_llvm/src/context.rs#375-382
if let Some(regparm_count) = sess.opts.unstable_opts.regparm {
llvm::add_module_flag_u32(
llmod,
llvm::ModuleFlagMergeBehavior::Error,
"NumRegisterParameters",
regparm_count,
);
}
```
[Here](https://rust.godbolt.org/z/YMezreo48) is a before/after compiler explorer.
Here is the final result for the code snippet in the original issue:
```asm
entrypoint:
push esi
mov esi, eax
mov eax, ecx
mov ecx, esi
pop esi
jmp memset ; Tail call parameters in registers
```
Fixes: rust-lang/rust#145271
Add codegen test for issue 122734 Closes rust-lang/rust#122734
cg_llvm: Use LLVM-C bindings for `LLVMSetTailCallKind`, `LLVMGetTypeKind` This PR replaces two existing `LLVMRust` bindings with equivalent calls to the LLVM-C API. For `LLVMGetTypeKind`, we avoid the UB hazard by declaring the foreign function to return `RawEnum<TypeKind>` (which is a wrapper around `u32`), and then perform checked conversion from `u32` to `TypeKind`.
Add static glibc to the nix dev shell This fixes `tests/ui/process/nofile-limit.rs` which fails to link on nixos for me without this change.
…ieyouxu Speedup `copy_src_dirs` in bootstrap I was kinda offended by how slow it was. Just the `copy_src_dirs` part took ~3s locally in the `x dist rustc-src` step. In release mode it was just 1s, but that's kind of cheating (I wonder if we should build bootstrap in release mode on CI though...). Did some basic optimizations to bring it down to ~1s also in debug mode. Maybe it's overkill, due to rust-lang/rust#145455. Up to you whether we should merge it or close it :) r? `````````@jieyouxu`````````
Fix typo in doc for library/std/src/fs.rs#set_permissions "privalage" -> "privilege". Was reading the docs and have noticed this.
…jdonszelmann Fix deprecation attributes on foreign statics r? ````````@jdonszelmann```````` Fixes rust-lang/rust#145437
Automatic Rustup
This change implements the #[sanitize(..)] attribute, which opts to
replace the currently unstable #[no_sanitize]. Essentially the new
attribute works similar as #[no_sanitize], just with more flexible
options regarding where it is applied. E.g. it is possible to turn
a certain sanitizer either on or off:
`#[sanitize(address = "on|off")]`
This attribute now also applies to more places, e.g. it is possible
to turn off a sanitizer for an entire module or impl block:
```rust
\#[sanitize(address = "off")]
mod foo {
fn unsanitized(..) {}
#[sanitize(address = "on")]
fn sanitized(..) {}
}
\#[sanitize(thread = "off")]
impl MyTrait for () {
...
}
```
This attribute is enabled behind the unstable `sanitize` feature.
This removes the #[no_sanitize] attribute, which was behind an unstable feature named no_sanitize. Instead, we introduce the sanitize attribute which is more powerful and allows to be extended in the future (instead of just focusing on turning sanitizers off). This also makes sanitize(kernel_address = ..) attribute work with -Zsanitize=address To do it the same as how clang disables address sanitizer, we now disable ASAN on sanitize(kernel_address = "off") and KASAN on sanitize(address = "off"). The same was added to clang in https://reviews.llvm.org/D44981.
Implement the accepted ACP for methods that find the index of the least significant (lowest) and most significant (highest) set bit in an integer for signed, unsigned, and NonZero types. Also add unit tests for all these types.
Rollup of 10 pull requests Successful merges: - rust-lang/rust#144838 (Fix outdated doc comment) - rust-lang/rust#145206 (Port `#[custom_mir(..)]` to the new attribute system) - rust-lang/rust#145208 (Implement declarative (`macro_rules!`) derive macros (RFC 3698)) - rust-lang/rust#145309 (Fix `-Zregparm` for LLVM builtins) - rust-lang/rust#145355 (Add codegen test for issue 122734) - rust-lang/rust#145420 (cg_llvm: Use LLVM-C bindings for `LLVMSetTailCallKind`, `LLVMGetTypeKind`) - rust-lang/rust#145451 (Add static glibc to the nix dev shell) - rust-lang/rust#145460 (Speedup `copy_src_dirs` in bootstrap) - rust-lang/rust#145476 (Fix typo in doc for library/std/src/fs.rs#set_permissions) - rust-lang/rust#145485 (Fix deprecation attributes on foreign statics) r? `@ghost` `@rustbot` modify labels: rollup
To avoid backwards compatibility problems.
Add tracing to data race functions
Consolidate all the panicking functions in `slice/index.rs` to use a single `slice_index_fail` function, similar to how it is done in `str/traits.rs`.
miri subtree update Subtree update of `miri` to rust-lang/miri@980da67. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
libstd: init(): dup() subsequent /dev/nulls instead of opening them again
This will be faster, and also it deduplicates the code so win/win
The dup() is actually infallible here. But whatever.
Before:
```
poll([{fd=0, events=0}, {fd=1, events=0}, {fd=2, events=0}], 3, 0) = 1 ([{fd=2, revents=POLLNVAL}])
openat(AT_FDCWD, "/dev/null", O_RDWR) = 2
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f5749313050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
poll([{fd=0, events=0}, {fd=1, events=0}, {fd=2, events=0}], 3, 0) = 2 ([{fd=0, revents=POLLNVAL}, {fd=2, revents=POLLNVAL}])
openat(AT_FDCWD, "/dev/null", O_RDWR) = 0
openat(AT_FDCWD, "/dev/null", O_RDWR) = 2
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7efe12006050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
poll([{fd=0, events=0}, {fd=1, events=0}, {fd=2, events=0}], 3, 0) = 3 ([{fd=0, revents=POLLNVAL}, {fd=1, revents=POLLNVAL}, {fd=2, revents=POLLNVAL}])
openat(AT_FDCWD, "/dev/null", O_RDWR) = 0
openat(AT_FDCWD, "/dev/null", O_RDWR) = 1
openat(AT_FDCWD, "/dev/null", O_RDWR) = 2
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fc2dc7ca050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
```
After:
```
poll([{fd=0, events=0}, {fd=1, events=0}, {fd=2, events=0}], 3, 0) = 1 ([{fd=1, revents=POLLNVAL}])
openat(AT_FDCWD, "/dev/null", O_RDWR) = 1
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f488a3fb050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
poll([{fd=0, events=0}, {fd=1, events=0}, {fd=2, events=0}], 3, 0) = 2 ([{fd=1, revents=POLLNVAL}, {fd=2, revents=POLLNVAL}])
openat(AT_FDCWD, "/dev/null", O_RDWR) = 1
dup(1) = 2
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f1a8943c050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
poll([{fd=0, events=0}, {fd=1, events=0}, {fd=2, events=0}], 3, 0) = 3 ([{fd=0, revents=POLLNVAL}, {fd=1, revents=POLLNVAL}, {fd=2, revents=POLLNVAL}])
openat(AT_FDCWD, "/dev/null", O_RDWR) = 0
dup(0) = 1
dup(0) = 2
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4e3a4c7050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
```
…-abis-arm, r=RalfJung,davidtwco c-variadic: multiple ABIs in the same program for arm similar to rust-lang/rust#144379, but for arm, requested in rust-lang/rust#144066. Quoting rust-lang/reference#1946 (comment) > `"aapcs"` specifically refers to the soft-float ABI where floating-point values are passed in integer registers. However for c-variadic functions, `aapcs` behaves the same as `C`: https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#65parameter-passing > A variadic function is always marshaled as for the base standard. https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#7the-standard-variants > This section applies only to non-variadic functions. For a variadic function the base standard is always used both for argument passing and result return. --- I also noticed that rustc currently emit more instructions than clang for c-variadic functions on arm, see https://godbolt.org/z/hMce9rnTh. I'll fix that separately. (edit: rust-lang/rust#144549) try-job: armhf-gnu r? `@RalfJung`
…esleywiser aarch64-nintendo-switch-freestanding - Enable CPU features that are always available in a live system (crypto instructions, plus explicit NEON). ~~While some NEON and crypto features may not be supported on the Nintendo Switch at boot (e.g. on the a53 cores) and this has not been tested, the features will _always_ be available if running as a sysmodule or homebrew application under Horizon/Atmosphere.~~ EDIT: the a53 cores are fused out, these features are always available. This has been tested with local tools personally, as well as building [emuiibo](https://github.com/XorTroll/emuiibo) as it uses both `sha` and `aes` primitives. This was tested using inline assembly in previous versions, and in current versions by using the `aes`, `ctr`, `hmac`, and `sha2` crates. r? `@jam1garner` This ended up being much delayed from our discussions about updating this. I tested a number of individual features such as the `aes` and `sha2` target-features directly to avoid a warning message with the `crypto` feature, but that appears to be caused by rust-lang/rust#96472 and is not actually an issue. There is also a decision to make here about explicitly enabling the `neon` feature. I am in favor of it to be explicit, but it is not necessary as it is already enabled by the `v8a` and `crypto` features. I will defer to your decision as it does not change the actual instructions available for codegen.
Add a method to dump MIR in the middle of MIR building This makes it easier to debug issues with MIR building by inserting dump_for_debugging calls around the suspected code responsible for the bad MIR.
…r=jhpratt Consolidate panicking functions in `slice/index.rs` Consolidate all the panicking functions in `slice/index.rs` to use a single `slice_index_fail` function, similar to how it is done in `str/traits.rs`. Split off from rust-lang/rust#145024
…twco Refactor attribute parsing to improve ergonomics and some diagnostics
Gate static closures behind a parser feature I'd like to gate `static ||` closures behind a feature gate, since we shouldn't allow people to take advantage of this syntax if it's currently unstable. Right now, since it's only rejected after ast lowering, it's accessible to macros. Let's crater this to see if we can claw it back without breaking anyone's code.
Add two tidy dependency checks Deny duplicate dependencies for the standard library as it would almost certainly bloat executables. And deny proc-macro dependencies for the standard library as they would break cross-compilation.
…anqk update some s390x codegen tests By using `minicore`, `&raw` and removing use of `link_llvm_intrinsics`
Instantiate higher-ranked binder with erased when checking `IntoIterator` predicate for query instability Fixes rust-lang/rust#145652 which was introduced by rust-lang/rust#139345 because we were skipping a binder before calling `Instance::try_resolve`. r? lcnr
Migrate `panic_unwind` to use `cfg_select!` This follows rust-lang/rust#145489 with an additional place we can drop the `cfg-if` dependency.
Handle `ReEarlyParam` in `type_name`. Fixes rust-lang/rust#145696. r? `@lcnr`
Remove MIPS targets from CI LLVM platforms All of these were demoted to tier 3 a while ago and we aren't building LLVM for them anymore.
ci: don't cleanup windows disk
remove an `as` cast in prefetch codegen r? `@RalfJung`
Update outdated link in bound region comments While reading the implementation code for bound regions, I found that a link in the comments was outdated. I've updated it with a link to the corresponding documentation in the rustc dev guide that covers the same content. prev link: https://rustc-dev-guide.rust-lang.org/early-late-bound-params/early-late-bound-summary.html (404 error) updated: https://rustc-dev-guide.rust-lang.org/early_late_parameters.html
Rollup of 16 pull requests Successful merges: - rust-lang/rust#137494 (libstd: init(): dup() subsequent /dev/nulls instead of opening them again) - rust-lang/rust#144541 (c-variadic: multiple ABIs in the same program for arm) - rust-lang/rust#144613 (aarch64-nintendo-switch-freestanding - Enable CPU features that are always available in a live system (crypto instructions, plus explicit NEON).) - rust-lang/rust#144780 (Add a method to dump MIR in the middle of MIR building) - rust-lang/rust#145137 (Consolidate panicking functions in `slice/index.rs`) - rust-lang/rust#145507 (Refactor attribute parsing to improve ergonomics and some diagnostics) - rust-lang/rust#145604 (Gate static closures behind a parser feature) - rust-lang/rust#145648 (Add two tidy dependency checks) - rust-lang/rust#145661 (update some s390x codegen tests) - rust-lang/rust#145672 (Instantiate higher-ranked binder with erased when checking `IntoIterator` predicate for query instability) - rust-lang/rust#145689 (Migrate `panic_unwind` to use `cfg_select!`) - rust-lang/rust#145700 (Handle `ReEarlyParam` in `type_name`.) - rust-lang/rust#145703 (Remove MIPS targets from CI LLVM platforms) - rust-lang/rust#145704 (ci: don't cleanup windows disk) - rust-lang/rust#145705 (remove an `as` cast in prefetch codegen) - rust-lang/rust#145712 (Update outdated link in bound region comments) r? `@ghost` `@rustbot` modify labels: rollup
rustc_expand: ensure stack in `InvocationCollector::visit_expr` In Fedora, when we built rustc with PGO on ppc64le, we started failing the test `issue-74564-if-expr-stack-overflow.rs`. This could also be reproduced on other arches by setting a smaller `RUST_MIN_STACK`, so it's probably just unlucky that ppc64le PGO created a large stack frame somewhere in this recursion path. Adding an `ensure_sufficient_stack` solves the stack overflow. Historically, that test and its fix were added in rust-lang/rust#74708, which was also an `ensure_sufficient_stack` in this area of code at the time. However, the refactor in rust-lang/rust#92573 basically left that to the general `MutVisitor`, and then rust-lang/rust#142240 removed even that ensure call. It may be luck that our tier-1 tested targets did not regress the original issue across those refactors.
Sort mono items by symbol name Trying to claw back cycles/branch/cache miss losses from rust-lang/rust#144722.
xdoardo
pushed a commit
that referenced
this pull request
Sep 29, 2025
Rehome 30 `tests/ui/issues/` tests to other subdirectories under `tests/ui/` [#3 of Batch #2] Part of rust-lang/rust#133895 Methodology: 1. Refer to the previously written `tests/ui/SUMMARY.md` 2. Find an appropriate category for the test, using the original issue thread and the test contents. 3. Add the issue URL at the bottom (not at the top, as that would mess up stderr line numbers) 4. Rename the tests to make their purpose clearer Inspired by the methodology that `@Kivooeo` was using. r? `@jieyouxu`
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.
_by()variants ofmin/max/minmaxinstd::cmpimpl PartialEq<{str,String}> for {Path,PathBuf}implicit_cloneto handleto_stringcallsstring_to_stringwithchar_lit_as_u8in driver.ship_fromiter_on_single_itemsFP on function pointersiter_on_single_itemFP on let stmt with type annotationslice::swap_with_sliceunstably constHirIds of inferred const/typeslet_unit_valuesuggests wrongly for format macrosStorageLiveand scheduleStorageDeadforlet-elseafter matchingconst_array_each_refobjectcrate from crates.io to fix windows build errorp-specs in datalayout string, allow definition of custom default data address spacesearch_is_somesuggests wrongly inside macromatch_single_bindingwrongly handles scopeDefaultimpls forPinnedBox,Rc,Arccodegen_instance_attrswhere an instance is (easily) availablematch_single_bindingsuggests wrongly inside binary exprcollapsable_ifwhen the innerifis in parensCargo.lockcollapsable_else_ifwhen the innerifis in parensavailable_parallelism: Add documentation for why we don't look atulimitpossible_missing_elsefromsuspicious_else_formatting.TypeId::oftests/assemblyintotests/assembly-llvmlazy_staticdependency fromintrinsic-testCloneandEqtraitsunsafe()wrappers.objectdependency from git to crates.iof32andf64multiplication testsx86_no_sseconfiguration in more places// FIXMEcomments inside doc code blocks..string_to_stringptr_cast_arraycast_arrayin corefloorintorem_pio2empty_structs_with_bracketssuggests wrongly on genericsunnecessary_map_ordon't add parens if the parent expr comes from a macroinline_type_aliasassist to useSyntaxEditorfn edit_struct_definconvert_tuple_struct_to_named_structto SyntaxEditorconvert_tuple_struct_to_named_struct' assist to useSyntaxEditor'floorandceilin assembly oni586no-asmgating when there is no alternative implementationtruewitnesses beforefalsewitnessesminicorefor fortanix assembly testscast-losslessshould not suggest when casting type is from macro inputif_chainany longercargo fixto partially applymismatched_lifetime_syntaxesunsafecodebot-pull-requeststriagebot configimpl Trait, collect only the bounds of this projectionSyntaxFactory::record_exprto hide clone_for_updatemake::toSyntaxFactory::ininline_type_aliasccquery into a new functionmake_win_distAlignmentEnumshould just berepr(usize)nowci-utilPrInfois loaded from envlibmtests that would otherwise be skippedcodegen_{cranelift,gcc}andopt-distto usebuild.compiletest-allow-stage0SyntaxEditor::delete_allto migrate utils.rsadd_trait_assoc_items_to_implmanual_assertTyCtxt::get_attrs_unchecked.is_case_differenceto handle digit-letter confusablescargo clippy --fixValidateBoundVars.IntTy/UintTy/FloatTy.extern crateitemsextern_prelude_getdangling_pointers_from_localslint in tests#[const_continue]outside#[loop_match]outline-atomicsa known target featureskip_binder{flat_,}map_identity: recognize (tuple) struct de- and restructuringrustctocompiletestself-testsCargoandRustAnalyzertoolsensure_if_defaultto not requireOptionoutputRustAnalyzerProcMacroSrvBuilder::rustdoctoBuilder::rustdoc_for_compilerRustcPrivateCompilersto unify building ofrustc_privatetoolsDocstepsRustdocToolRustcbuild withdownload-rustcRustcPrivateCompilerslink_compilertotarget_compilerCargoaToolTargettoolCargoTesttest cargoand update Cargo snapshot testsdist::Cargox test cargox test cargostage N test rustc stage Ngroup_typecrossoriginwhen neededhash_map!macrounreachable/expr_cast.rstestInternerarg toEarlyBinderdoes not affect auto traits*-lynxos178-*target maintainer handle to make it easier to copy/pasteissues_txt_headera consttests/ui/convert_from_to_tryfromassist to useSyntaxEditorhash_owner_nodeswith an early-returnhash_owner_nodesoption_if_let_elsekeep deref op if the inner expr is a raw pointergenerate_delegate_methodsassist to useSyntaxEditorself, change callers to use method call syntaxoption_if_let_elsedon't suggest argless function for Result::map_or_elseProcRes::print_infotoformat_infoProcResunwinds into one code pathTestCx::errortoerror_prefix, which returns a stringgenerate_trait_from_implassist to useSyntaxEditorPrintermethods as unreachable where appropriate.FmtPrintermethods.type_name::AbsolutePathPrinter::comma_sep.Printervariables.SymbolMangler::print_type.p!.path_append_impl.Vecin anIterator::chain?for brevity[const]s inside blocks within legal positionsas_arrayin PartialEq for arraysSHOULD_EMIT_LINTSin favor ofshould_emitpoison.rsLazyCellLazyLockstability_implicationswithout a visitor.semicolon_inside_blockderive(PartialOrd, Ord)?-on-OptionInstanceinCovfunRecordfor debug messagescounter_for_bcbout of its loop-Zcoverage-options=no-mir-spansextract_refined_covspans-Zcoverage-optionsflagsCovmapVersionas an enum&FnPtror&FnDefInterpResultproject_fieldshelper functiontcp-stress.rstest-Zprint-mono-itemsis enabledtest::print_merged_doctests_timesused by rustdoc to display more detailed time information and add newOutputFormatter::write_merged_doctests_timesmethod to handle it#[coroutine]to the new attribute systemiiconsiiconslibunwind.dllin dist|" suggestion and make it hiddenmust_useon btree::IterMutrust-versionfromrustc_thread_poolRemoveUnneededDropsalso removedrop_in_placecommonand code cleanupF-explicit_tail_callsvalue_path_str_with_args.wildcard_importsin external macroIntoIteratorfor theadd_flagsmethodscognitive_complexitylint fromnurserytorestrictioncore::iter::chainchecked_exact_divu8-as-ASCII methods tocore::ascii::Charstd::ascii::CharMINandMAXconstantsisolate_most_least_significant_onefunctionsCARGO_CFG_*_{F16,F128}rather than invoking rustcFile::set_times: Removewrite(true)from the example so it works on directoriesFile::set_times: Add documentation about setting directory timestampsPrinter.should_truncatefrom traitPrinterto sub-traitPrettyPrinter.Printermethods.PrettyPrintermethods.super_projection_elemstageparameter when setting up stdlib Cargoincompatible_msrvlintBufRead::skip_untilneedless_boollintset_timesto clarify directory handlingHash#[should_panic]to the new attribute parsing infrastructure#[should_panic]portInstanceand use itchar::is_alphanumericprint_regionintype_name.rs.Iterator::by_ref.type_checkout ofcompute_regions#[allow_internal_unsafe]to the new attribute systemsaturating_subbounds check issuetcx.short_string()in more diagnostics.get_ref()armv7a-vex-v5supportif letguard drop orderif letguard temporaries and bindings-Zmacro-statsoutput.ToolTargettoolsdist::CraneliftCodegenBackendrust.codegen-backends#[allow_internal_unsafe]to the new attribute system"TypeFoldableimplsattrrules as an attributemacro_rulesattr resolutionmacro_rulesattributescompile_error!x.py dist rustc-srcshould keep LLVM's siphashERROR_EXIT_CODEconstant in rustdoc32starget feature for LoongArchTraitRef::from_methodtofrom_assocPbuild-dirin bootstrapderive_morerefactors{BTree,Hash}Map: add "EntryAPI" section headingHashMap: also add "Usage with custom key types" headingsuggest_borrow_generic_arg: use the correct generic argseq_ignore_ascii_caseto avoid heap alloc indetect_confuse_typeILL_FORMED_ATTRIBUTE_INPUTin dependenciesdoc compilerReferencedoc stepRustcBookdoc stepStandaloneandReleasesdoc stepsStddoc stepdocCI steps stage 2discrsDisplayimpl to render the value with the correct signednessFn()orFnMut()bound that coerced a closure, which caused a move errorassert!sHashandOrd; refine description ofderivefrom_forallsysinfoversion to0.37.0#[allow_internal_unsafe]to the new attribute system (attempt 2)pr-check-2CI jobListandNamedValueStrreprerrorVec’s allocatorlatestsymlink to the latest tracing output directorytracing_forestwith custom span formatting#[instrument]annotations on stepstracingmodulepretty_step_nameinstep_graphNameValueStradd_apple_sdkassert!desugaring in!conditionsuggestioncapacity == 0caserust.debug-assertionsif downloading rustcBuilder::msgBuilder::fmtMacroKindsto support macros with more than one kindGlobDelegation#[derive(mymacro)]to#[mymacro]for attribute macrosBanginstead ofNotMacroKindsMacroKindsassert!for better error outputstage0-tools-binwithstage1-tools-bin#[track_caller]functionsprepare_compiler_for_checkclippy::CodegenGccas a separate stepx clippy cix clippy stdx clippy stdx clippy cilibgccjit.so.0alias and only create the versioned library when installinglibgccjit.soadd_placeholder_from_predicate_notefn new_coroutine_witness_for_coroutinewoopspub(crate)for E0364check::Rustcin snapshot tests#character in doctest in rustdoc bookNwhen-Zregparm=Nis settarget-cpuattribute--remap-path-prefixdocumentation#[linkage]attribute to the new attribute systemsse4aandtbmtarget features - remove some stabilized target features fromgate.rs--timingsto cargoparse_token_tree.resolve_macro_pathfrom late resolution#![no_core]type_name.build_reduced_graphphaseONLY_HOSTSvalue overrides that just set the default value and had no commentONLY_HOSTSin bootstrapdefault_field_valuesinResolverRibKind::Blockwith_mod_ribresolve_ident_in_lexical_scopefor better clarityTargettypeparse_attribute_list[T].iter().last()autodiffintrinsic-Lpaths passed to rustc-Larguments to merged doctestsderiverulesmacro_rulesderivesInvocationCollector::visit_exprGetThreadId+GetCurrentThreadwithGetCurrentThreadIdLLVMSetTailCallKindx check compilercompilertobuild_compilerin thecompile::Stdstepcompiler_forfrom thecompile::Stdstepcompiler_forfrom thecompile::Rustcstepbuild.full-bootstrapis only used to affect uplifting, not stage selection#[custom_mir(..)]to the new attribute systemLLVMGetTypeKinddropping_copy_typeslintderive_fromunstable featureFrombuiltin macro and register it#[derive(From)]rustc_codegen_llvm::backin the normal way*const c_ucharto*const c_char&mutreferenceargs_cstr_buffassertion-apple-WASM1toMVPsrc/tools/{rustfmt,rust-analyzer}changes withT-{rustfmt,rust-analyzer}copy_src_dirsin dry runderiveon unresolved attribute even when not importedQueryStabilityto handleIntoIteratorimplementations[range-diff]feature in triagebotLlvmArchiveBuilderand supporting code/bindingsfs::remove_fileincp_link_filtered_recursecopy_src_dirsunicode_data.rsmention messagecfg_iftocfg_selectshould_renderinPrintAttributederive&mutsuggestions in borrowck errorssuggest_ampmutinto an enumcfg_select!//@ ignore-stage1to query_stability.rs test-Zindirect-branch-cs-prefixoptionltooptions from most to least optimizingT: !Sizedcandidate to satisfy aT: !MetaSizedobligation.RUSTC_ADDITIONAL_SYSROOT_PATHSPartialOrd/Ordfrom bootstrapint_lowest_highest_onefor integer and NonZero typesFromderive macro from preludeTokenStream::new--timingsarmv7a-vex-v5Assemblestepmust_useto the new target checking()inderive(From)output.hs_abs_cmp examples
ast::ModKind.rustdoc-jstester would not pick the rightsearch.jsfile if there is more than onestd_detect: Userustc-std-workspace-*to pull incompiler-builtinsstd_detectcompiler-builtinsprefetch_*intrinsics[review-changes-since]featureprefetchintrinsics safefully_perform_op_rawout ofTypeCheckerregion_infer::opaque_typesto folder--test-codegen-backendbootstrap option--codegen-backendinto two options--default-codegen-backendand--override-codegen-backend"x86-interrupt"functionsalloc-variant-zeroedto LLVM[review-changes-since]featureIntoDiagArgearlier in the dependency chainsrustc_hir_idout ofrustc_hirDefPathHashfromrustc_spanrather thanrustc_hirrustc_hirforNamespacerustc_mir_dataflowtorustc_hirrustc_traitstorustc_hirpanic_unwindto usecfg_select!ReEarlyParamintype_name.ascast in prefetch codegenslice/index.rs