about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-06-22Use `join_with_double_colon` in `write_shared.rs`.Nicholas Nethercote-2/+2
For consistency. Also, it's faster because `join_with_double_colon` does a better job estimating the allocation size than `join` from `itertools`.
2025-06-22remove few from bootstrap tooklensy-2/+1
2025-06-22remove allow(dead_code) leftovers from serial/parallel compilerklensy-4/+0
2025-06-22Auto merge of #142864 - jhpratt:rollup-mf0yq8o, r=jhprattbors-913/+536
Rollup of 10 pull requests Successful merges: - rust-lang/rust#140254 (Pass -Cpanic=abort for the panic_abort crate) - rust-lang/rust#142600 (Port `#[rustc_pub_transparent]` to the new attribute system) - rust-lang/rust#142617 (improve search graph docs, reset `encountered_overflow` between reruns) - rust-lang/rust#142747 (rustdoc_json: conversion cleanups) - rust-lang/rust#142776 (All HIR attributes are outer) - rust-lang/rust#142800 (integer docs: remove extraneous text) - rust-lang/rust#142841 (Enable fmt-write-bloat for Windows) - rust-lang/rust#142845 (Enable textrel-on-minimal-lib for Windows) - rust-lang/rust#142850 (remove asm_goto feature annotation, for it is now stabilized) - rust-lang/rust#142860 (Notify me on tidy changes) r? `@ghost` `@rustbot` modify labels: rollup
2025-06-22Stop dbg! macro yapping about format modifiersmejrs-10/+33
2025-06-22Implement DesugaringKind::FormatLiteralmejrs-159/+261
2025-06-22Rollup merge of #142860 - jieyouxu:notify-tidy, r=jieyouxuJacob Pratt-0/+4
Notify me on tidy changes r? ghost
2025-06-22Rollup merge of #142850 - tshepang:patch-1, r=jieyouxuJacob Pratt-1/+0
remove asm_goto feature annotation, for it is now stabilized This was stabilized in https://github.com/rust-lang/rust/pull/133870
2025-06-22Rollup merge of #142845 - dpaoliello:textrel-on-minimal-lib, r=jieyouxuJacob Pratt-5/+3
Enable textrel-on-minimal-lib for Windows `bin_name` needs to be used when building a runnable executable. Addresses item in rust-lang/rust#128602 --- try-job: x86_64-mingw-* try-job: x86_64-msvc-* try-job: i686-msvc-*
2025-06-22Rollup merge of #142841 - dpaoliello:fmt-write-bloat, r=jieyouxuJacob Pratt-7/+2
Enable fmt-write-bloat for Windows Seems to be working fine for MSVC once it has the correct binary name. Addresses item in rust-lang/rust#128602 --- try-job: x86_64-mingw-* try-job: x86_64-msvc-* try-job: i686-msvc-*
2025-06-22Rollup merge of #142800 - tshepang:extraneous, r=Mark-SimulacrumJacob Pratt-455/+0
integer docs: remove extraneous text "Basic usage" implies there is an example that shows advanced usage, but these APIs are extra simple.
2025-06-22Rollup merge of #142776 - dtolnay:hirattrstyle2, r=jdonszelmannJacob Pratt-167/+197
All HIR attributes are outer Fixes https://github.com/rust-lang/rust/issues/142649. Closes https://github.com/rust-lang/rust/pull/142759. All HIR attributes, including parsed and not yet parsed, will now be rendered as outer attributes by `rustc_hir_pretty`. The original style of the corresponding AST attribute(s) is not relevant for pretty printing, only for diagnostics. r? ````@jdonszelmann````
2025-06-22Rollup merge of #142747 - nnethercote:json-conversion-cleanups, r=aDotInTheVoidJacob Pratt-189/+169
rustdoc_json: conversion cleanups A bunch of clean-to-types conversion cleanups I found while working on perf-related stuff in rustdoc_json. r? ```@aDotInTheVoid```
2025-06-22Rollup merge of #142617 - lcnr:search_graph-3, r=compiler-errorsJacob Pratt-73/+122
improve search graph docs, reset `encountered_overflow` between reruns I think this shouldn't really matter for now. It will be more relevant for my current rework as we otherwise cannot partially reevaluate the root goal in case there has been overflow during the prervious iteration. r? ````@BoxyUwU````
2025-06-22Rollup merge of #142600 - GrigorenkoPV:attributes/rustc_pub_transparent, ↵Jacob Pratt-4/+29
r=jdonszelmann Port `#[rustc_pub_transparent]` to the new attribute system Very similar to rust-lang/rust#142498. This is a part of rust-lang/rust#131229, so r? ````@jdonszelmann```` --- For reference, the `#[rustc_pub_transparent]` attribute was created by me back in rust-lang/rust#129487. As mentioned back in https://github.com/rust-lang/rust/pull/129487#discussion_r1730120385, this attribute does not check that it is applied to an ADT, because it checks that `#[repr(transparent)]` is also applied to the same item, which, in turn, should check for ADT.
2025-06-22Rollup merge of #140254 - bjorn3:rustc_panic_abort_abort, r=petrochenkovJacob Pratt-12/+10
Pass -Cpanic=abort for the panic_abort crate The panic_abort crate must be compiled with panic=abort, but cargo doesn't allow setting the panic strategy for a single crate the usual way using `panic="abort"`, but luckily per-package rustflags do allow this. Bootstrap previously handled this in its rustc wrapper, but for example the build systems of cg_clif and cg_gcc don't use the rustc wrapper, so they would either need to add one, patch the standard library or be unable to build a sysroot suitable for both panic=abort and panic=unwind (as is currently the case). Required for https://github.com/rust-lang/rustc_codegen_cranelift/issues/1567
2025-06-22Auto merge of #142675 - tmiasko:preserve-cache, r=oli-obkbors-1/+1
Preserve caches in a call to shrink_to_fit A small follow up to rust-lang/rust#142542.
2025-06-22Merge pull request #20056 from ShoyuVanilla/fmt-args-newChayim Refael Friedman-46/+412
Minic rustc's new `format_args!` expansion
2025-06-22Minic rustc's new `format_args!` expansionShoyu Vanilla-41/+366
2025-06-22Implement region negation to minicore and add a flag `fmt_before_1_89_0`Shoyu Vanilla-8/+49
2025-06-22Auto merge of #141856 - folkertdev:run-make-forward-compiletest-runner, ↵bors-2/+30
r=jieyouxu forward the bootstrap `runner` to `run-make` The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions. The configuration can look like this ```toml # in bootstrap.toml [target.s390x-unknown-linux-gnu] runner = "qemu-s390x -L /usr/s390x-linux-gnu" ``` Any C compilation automatically sets the correct target. Calls to rustc must use `.target(target())`. Then, a command like below will work by cross-compiling to the given target, and using the given runner for that target to execute the binary: ``` ./x test tests/run-make/c-link-to-rust-va-list-fn --target s390x-unknown-linux-gnu ``` The runner can also be used for e.g. running with `valgrind`. This PR also enables its use in the test case that I care about, hopefully that actually does work on the platforms that CI uses. We should probably run some try jobs to be sure? r? `@jieyouxu` try-job: test-various try-job: armhf-gnu
2025-06-21target-feature: enable rust target features implied by target-cpuJed Brown-8/+44
Normally LLVM and rustc agree about what features are implied by target-cpu, but for NVPTX, LLVM considers sm_* and ptx* features to be exclusive, which makes sense for codegen purposes. But in Rust, we want to think of them as: sm_{sver} means that the target supports the hardware features of sver ptx{pver} means the driver supports PTX ISA pver Intrinsics usually require a minimum sm_{sver} and ptx{pver}. Prior to this commit, -Ctarget-cpu=sm_70 would activate only sm_70 and ptx60 (the minimum PTX version that supports sm_70, which maximizes driver compatibility). With this commit, it also activates all the implied target features (sm_20, ..., sm_62; ptx32, ..., ptx50).
2025-06-21add nvptx_target_featureJed Brown-2/+178
Add target features for sm_* and ptx*, both of which form a partial order, but cannot be combined to a single partial order. These mirror the LLVM target features, but we do not provide LLVM target processors (which imply both an sm_* and ptx* feature). Add some documentation for the nvptx target.
2025-06-22Notify `jieyouxu` on tidy changesJieyou Xu-0/+4
2025-06-21Add a few inline directives in rustc_serialize.Camille GILLOT-0/+4
2025-06-22forward the bootstrap `runner` to `run-make`Folkert de Vries-2/+30
The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions.
2025-06-21Auto merge of #142667 - yotamofek:pr/rustdoc/more-write-shared-perf, ↵bors-27/+12
r=nnethercote Avoid a few more allocations in `write_shared.rs` Inspired by rust-lang/rust#141421 , avoids a few `Vec`, `PathBuf` and `String` allocations in `write_shared.rs`. I don't think these will show up on benchmarks, but are still worthwhile IMHO. Also includes a few small cleanups. r? nnethercote - if you'd like :)
2025-06-21Skip collecting no-op DropGlue in vtablesMark Rousskov-2/+33
Since 122662 this no longer gets used in vtables, so we're safe to fully drop generating these empty functions. Those are eventually cleaned up by LLVM, but it's wasteful to produce them in the first place. This also adds a missing test for fn-ptr casts, which do still need to generate no-op drop glue. It's possible a future optimization could point all of those at the same drop glue (e.g., for *mut ()) rather than for each separate type, but that would require extra work for CFI and isn't particularly easy to do anyway.
2025-06-22centralize `-Zmin-function-alignment` logicFolkert de Vries-17/+10
2025-06-22Rename some methods.Nicholas Nethercote-8/+12
- `convert_static` -> `from_clean_static` - `from_function` -> `from_clean_function` To match the pre-existing `from_clean_item` and `FromClean::from_clean`. I left `JsonRenderer::convert_item` unchanged because it's a bit different.
2025-06-22Use `FromClean` more.Nicholas Nethercote-121/+156
The `FromClean` trait is used a lot for converting to rustdoc-json format. But it's not used universally; there are still some ad hoc functions and methods for converting. This commit fixes this inconsistency by using `FromClean` more. The commit also introduces `FromClean` for `Box` and `Option`. This lets a lot of `as_ref` and `map` calls be removed in favour of simple `into_json` calls.
2025-06-22Remove some code.Nicholas Nethercote-32/+1
It's just replicating exactly what is done by `<Vec<GenericParamDef> as FromClean>::into_json`
2025-06-22Remove some dead code.Nicholas Nethercote-25/+0
We currently have both `FromClean<clean::Constant> for Constant` and `FromClean<clean::ConstantKind> for Constant` which are basically identical, but the former is unused.
2025-06-22Use `sym::asterisk` to avoid a `Symbol::intern` call.Nicholas Nethercote-5/+2
2025-06-21remove asm_goto feature annotation, for it is now stabilizedTshepang Mbambo-1/+0
2025-06-21Merge pull request #20050 from ↵Chayim Refael Friedman-3/+11
LHolten/better-docs-for-exclude-imports-in-symbol-search Add better documentation for excluding imports from symbol search
2025-06-21Enable textrel-on-minimal-lib for WindowsDaniel Paoliello-5/+3
2025-06-21Auto merge of #142546 - cjgillot:reachable-jump, r=compiler-errorsbors-2/+13
Only traverse reachable blocks in JumpThreading. Fixes https://github.com/rust-lang/rust/issues/131451 We only compute loop headers for reachable blocks. We shouldn't try to perform an opt on unreachable blocks anyway.
2025-06-21Port `#[rustc_pub_transparent]` to the new attribute systemPavel Grigorenko-4/+29
2025-06-21Enable fmt-write-bloat for WindowsDaniel Paoliello-7/+2
2025-06-21All HIR attributes are outerDavid Tolnay-3/+10
2025-06-21All HIR attributes are outerDavid Tolnay-156/+140
2025-06-21Add regression test for issue 142649David Tolnay-0/+22
2025-06-21Remove style() from AttributeExt traitDavid Tolnay-23/+11
2025-06-21Add AttributeExt::doc_resolution_scopeDavid Tolnay-1/+37
2025-06-21Update to Cranelift 0.121bjorn3-46/+62
2025-06-21Add missing space when expanding a struct-like variant (#15096)Timo-3/+39
In `wildcard_enum_match_arm`, expanding a variant with struct-like fields was missing a space between the variant name and the opening bracket. Also, add a test for tuple-like variants with only one field, as those are expanded as `VariantName(_)` instead of `VariantName(..)`. changelog: none
2025-06-21Add missing space when expanding a struct-like variantSamuel Tardieu-3/+39
In `wildcard_enum_match_arm`, expanding a variant with struct-like fields was missing a space between the variant name and the opening bracket. Also, add a test for tuple-like variants with only one field, as those are expanded as `VariantName(_)` instead of `VariantName(..)`.
2025-06-21Fix `wildcard_enum_match_arm` suggests wrongly with raw identifiers (#15093)Samuel Tardieu-6/+42
Closes rust-lang/rust-clippy#15091 The lack of ability to escape raw identifiers is a known issue of Clippy. In this case, it can be avoided by snippet from the code. changelog: [`wildcard_enum_match_arm`] fix wrong suggestions with raw identifiers
2025-06-21Make sure spans are from the rooty21-4/+14