-
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.
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
/minmax
instd::cmp
impl PartialEq<{str,String}> for {Path,PathBuf}
implicit_clone
to handleto_string
callsstring_to_string
withchar_lit_as_u8
in driver.ship_from
iter_on_single_items
FP on function pointersiter_on_single_item
FP on let stmt with type annotationslice::swap_with_slice
unstably constHirId
s of inferred const/typeslet_unit_value
suggests wrongly for format macrosStorageLive
and scheduleStorageDead
forlet
-else
after matchingconst_array_each_ref
object
crate from crates.io to fix windows build errorp-
specs in datalayout string, allow definition of custom default data address spacesearch_is_some
suggests wrongly inside macromatch_single_binding
wrongly handles scopeDefault
impls forPin
nedBox
,Rc
,Arc
codegen_instance_attrs
where an instance is (easily) availablematch_single_binding
suggests wrongly inside binary exprcollapsable_if
when the innerif
is in parensCargo.lock
collapsable_else_if
when the innerif
is in parensavailable_parallelism
: Add documentation for why we don't look atulimit
possible_missing_else
fromsuspicious_else_formatting
.TypeId::of
tests/assembly
intotests/assembly-llvm
lazy_static
dependency fromintrinsic-test
Clone
andEq
traitsunsafe()
wrappers.object
dependency from git to crates.iof32
andf64
multiplication testsx86_no_sse
configuration in more places// FIXME
comments inside doc code blocks..
string_to_string
ptr_cast_array
cast_array
in corefloor
intorem_pio2
empty_structs_with_brackets
suggests wrongly on genericsunnecessary_map_or
don't add parens if the parent expr comes from a macroinline_type_alias
assist to useSyntaxEditor
fn edit_struct_def
inconvert_tuple_struct_to_named_struct
to SyntaxEditorconvert_tuple_struct_to_named_struct' assist to use
SyntaxEditor'floor
andceil
in assembly oni586
no-asm
gating when there is no alternative implementationtrue
witnesses beforefalse
witnessesminicore
for fortanix assembly testscast-lossless
should not suggest when casting type is from macro inputif_chain
any longercargo fix
to partially applymismatched_lifetime_syntaxes
unsafe
codebot-pull-requests
triagebot configimpl Trait
, collect only the bounds of this projectionSyntaxFactory::record_expr
to hide clone_for_updatemake::
toSyntaxFactory::
ininline_type_alias
cc
query into a new functionmake_win_dist
AlignmentEnum
should just berepr(usize)
nowci-util
PrInfo
is loaded from envlibm
tests that would otherwise be skippedcodegen_{cranelift,gcc}
andopt-dist
to usebuild.compiletest-allow-stage0
SyntaxEditor::delete_all
to migrate utils.rsadd_trait_assoc_items_to_impl
manual_assert
TyCtxt::get_attrs_unchecked
.is_case_difference
to handle digit-letter confusablescargo clippy --fix
ValidateBoundVars
.IntTy
/UintTy
/FloatTy
.extern crate
itemsextern_prelude_get
dangling_pointers_from_locals
lint in tests#[const_continue]
outside#[loop_match]
outline-atomics
a known target featureskip_binder
{flat_,}map_identity
: recognize (tuple) struct de- and restructuringrustc
tocompiletest
self-testsCargo
andRustAnalyzer
toolsensure_if_default
to not requireOption
outputRustAnalyzerProcMacroSrv
Builder::rustdoc
toBuilder::rustdoc_for_compiler
RustcPrivateCompilers
to unify building ofrustc_private
toolsDoc
stepsRustdoc
ToolRustc
build withdownload-rustc
RustcPrivateCompilers
link_compiler
totarget_compiler
Cargo
aToolTarget
toolCargoTest
test cargo
and update Cargo snapshot testsdist::Cargo
x test cargo
x test cargo
stage N test rustc stage Ngroup_type
crossorigin
when neededhash_map!
macrounreachable/expr_cast.rs
testInterner
arg toEarlyBinder
does not affect auto traits*-lynxos178-*
target maintainer handle to make it easier to copy/pasteissues_txt_header
a consttests/ui/
convert_from_to_tryfrom
assist to useSyntaxEditor
hash_owner_nodes
with an early-returnhash_owner_nodes
option_if_let_else
keep deref op if the inner expr is a raw pointergenerate_delegate_methods
assist to useSyntaxEditor
self
, change callers to use method call syntaxoption_if_let_else
don't suggest argless function for Result::map_or_elseProcRes::print_info
toformat_info
ProcRes
unwinds into one code pathTestCx::error
toerror_prefix
, which returns a stringgenerate_trait_from_impl
assist to useSyntaxEditor
Printer
methods as unreachable where appropriate.FmtPrinter
methods.type_name::AbsolutePathPrinter::comma_sep
.Printer
variables.SymbolMangler::print_type
.p!
.path_append_impl
.Vec
in anIterator::chain
?
for brevity[const]
s inside blocks within legal positionsas_array
in PartialEq for arraysSHOULD_EMIT_LINTS
in favor ofshould_emit
poison.rs
LazyCell
LazyLock
stability_implications
without a visitor.semicolon_inside_block
derive(PartialOrd, Ord)
?
-on-Option
Instance
inCovfunRecord
for debug messagescounter_for_bcb
out of its loop-Zcoverage-options=no-mir-spans
extract_refined_covspans
-Zcoverage-options
flagsCovmapVersion
as an enum&FnPtr
or&FnDef
InterpResult
project_fields
helper functiontcp-stress.rs
test-Zprint-mono-items
is enabledtest::print_merged_doctests_times
used by rustdoc to display more detailed time information and add newOutputFormatter::write_merged_doctests_times
method to handle it#[coroutine]
to the new attribute systemi
iconsi
iconslibunwind.dll
in dist|
" suggestion and make it hiddenmust_use
on btree::IterMutrust-version
fromrustc_thread_pool
RemoveUnneededDrops
also removedrop_in_place
common
and code cleanupF-explicit_tail_calls
value_path_str_with_args
.wildcard_imports
in external macroIntoIterator
for theadd_flags
methodscognitive_complexity
lint fromnursery
torestriction
core::iter::chain
checked_exact_div
u8
-as-ASCII methods tocore::ascii::Char
std::ascii::Char
MIN
andMAX
constantsisolate_most_least_significant_one
functionsCARGO_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_truncate
from traitPrinter
to sub-traitPrettyPrinter
.Printer
methods.PrettyPrinter
methods.super_projection_elem
stage
parameter when setting up stdlib Cargoincompatible_msrv
lintBufRead::skip_until
needless_bool
lintset_times
to clarify directory handlingHash
#[should_panic]
to the new attribute parsing infrastructure#[should_panic]
portInstance
and use itchar::is_alphanumeric
print_region
intype_name.rs
.Iterator::by_ref
.type_check
out ofcompute_regions
#[allow_internal_unsafe]
to the new attribute systemsaturating_sub
bounds check issuetcx.short_string()
in more diagnostics.get_ref()
armv7a-vex-v5
supportif let
guard drop orderif let
guard temporaries and bindings-Zmacro-stats
output.ToolTarget
toolsdist::CraneliftCodegenBackend
rust.codegen-backends
#[allow_internal_unsafe]
to the new attribute system"TypeFoldable
implsattr
rules as an attributemacro_rules
attr resolutionmacro_rules
attributescompile_error!
x.py dist rustc-src
should keep LLVM's siphashERROR_EXIT_CODE
constant in rustdoc32s
target feature for LoongArchTraitRef::from_method
tofrom_assoc
P
build-dir
in bootstrapderive_more
refactors{BTree,Hash}Map
: add "Entry
API" section headingHashMap
: also add "Usage with custom key types" headingsuggest_borrow_generic_arg
: use the correct generic argseq_ignore_ascii_case
to avoid heap alloc indetect_confuse_type
ILL_FORMED_ATTRIBUTE_INPUT
in dependenciesdoc compiler
Reference
doc stepRustcBook
doc stepStandalone
andReleases
doc stepsStd
doc stepdoc
CI steps stage 2discr
sDisplay
impl to render the value with the correct signednessFn()
orFnMut()
bound that coerced a closure, which caused a move errorassert!
sHash
andOrd
; refine description ofderive
from_forall
sysinfo
version to0.37.0
#[allow_internal_unsafe]
to the new attribute system (attempt 2)pr-check-2
CI jobList
andNamedValueStr
repr
errorVec
’s allocatorlatest
symlink to the latest tracing output directorytracing_forest
with custom span formatting#[instrument]
annotations on stepstracing
modulepretty_step_name
instep_graph
NameValueStr
add_apple_sdk
assert!
desugaring in!condition
suggestioncapacity == 0
caserust.debug-assertions
if downloading rustcBuilder::msg
Builder::fmt
MacroKinds
to support macros with more than one kindGlobDelegation
#[derive(mymacro)]
to#[mymacro]
for attribute macrosBang
instead ofNot
MacroKinds
MacroKinds
assert!
for better error outputstage0-tools-bin
withstage1-tools-bin
#[track_caller]
functionsprepare_compiler_for_check
clippy::CodegenGcc
as a separate stepx clippy ci
x clippy std
x clippy std
x clippy ci
libgccjit.so.0
alias and only create the versioned library when installinglibgccjit.so
add_placeholder_from_predicate_note
fn new_coroutine_witness_for_coroutine
woopspub(crate)
for E0364check::Rustc
in snapshot tests#
character in doctest in rustdoc bookN
when-Zregparm=N
is settarget-cpu
attribute--remap-path-prefix
documentation#[linkage]
attribute to the new attribute systemsse4a
andtbm
target features - remove some stabilized target features fromgate.rs
--timings
to cargoparse_token_tree
.resolve_macro_path
from late resolution#![no_core]
type_name
.build_reduced_graph
phaseONLY_HOSTS
value overrides that just set the default value and had no commentONLY_HOSTS
in bootstrapdefault_field_values
inResolver
RibKind::Block
with_mod_rib
resolve_ident_in_lexical_scope
for better clarityTarget
typeparse_attribute_list
[T].iter().last()
autodiff
intrinsic-L
paths passed to rustc-L
arguments to merged doctestsderive
rulesmacro_rules
derivesInvocationCollector::visit_expr
GetThreadId
+GetCurrentThread
withGetCurrentThreadId
LLVMSetTailCallKind
x check compiler
compiler
tobuild_compiler
in thecompile::Std
stepcompiler_for
from thecompile::Std
stepcompiler_for
from thecompile::Rustc
stepbuild.full-bootstrap
is only used to affect uplifting, not stage selection#[custom_mir(..)]
to the new attribute systemLLVMGetTypeKind
dropping_copy_types
lintderive_from
unstable featureFrom
builtin macro and register it#[derive(From)]
rustc_codegen_llvm::back
in the normal way*const c_uchar
to*const c_char
&mut
referenceargs_cstr_buff
assertion-apple-
WASM1
toMVP
src/tools/{rustfmt,rust-analyzer}
changes withT-{rustfmt,rust-analyzer}
copy_src_dirs
in dry runderive
on unresolved attribute even when not importedQueryStability
to handleIntoIterator
implementations[range-diff]
feature in triagebotLlvmArchiveBuilder
and supporting code/bindingsfs::remove_file
incp_link_filtered_recurse
copy_src_dirs
unicode_data.rs
mention messagecfg_if
tocfg_select
should_render
inPrintAttribute
derive&mut
suggestions in borrowck errorssuggest_ampmut
into an enumcfg_select!
//@ ignore-stage1
to query_stability.rs test-Zindirect-branch-cs-prefix
optionlto
options from most to least optimizingT: !Sized
candidate to satisfy aT: !MetaSized
obligation.RUSTC_ADDITIONAL_SYSROOT_PATHS
PartialOrd
/Ord
from bootstrapint_lowest_highest_one
for integer and NonZero typesFrom
derive macro from preludeTokenStream::new
--timings
armv7a-vex-v5
Assemble
stepmust_use
to the new target checking()
inderive(From)
output.hs_abs_cmp examples
ast::ModKind
.rustdoc-js
tester would not pick the rightsearch.js
file if there is more than onestd_detect
: Userustc-std-workspace-*
to pull incompiler-builtins
std_detect
compiler-builtins
prefetch_*
intrinsics[review-changes-since]
featureprefetch
intrinsics safefully_perform_op_raw
out ofTypeChecker
region_infer::opaque_types
to folder--test-codegen-backend
bootstrap option--codegen-backend
into two options--default-codegen-backend
and--override-codegen-backend
"x86-interrupt"
functionsalloc-variant-zeroed
to LLVM[review-changes-since]
featureIntoDiagArg
earlier in the dependency chainsrustc_hir_id
out ofrustc_hir
DefPathHash
fromrustc_span
rather thanrustc_hir
rustc_hir
forNamespace
rustc_mir_dataflow
torustc_hir
rustc_traits
torustc_hir
panic_unwind
to usecfg_select!
ReEarlyParam
intype_name
.as
cast in prefetch codegenslice/index.rs