about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-08-29Rollup merge of #145675 - Oneirical:uncountable-integer-8, r=jieyouxuMatthias Krüger-80/+66
Rehome 30 `tests/ui/issues/` tests to other subdirectories under `tests/ui/` [#1 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`
2025-08-29Remove FreeBSD CIAmanieu d'Antras-16/+0
It's historically been flaky and is no longer needed now that std_detect has been moved out of this repository.
2025-08-29use `llvm.roundeven` on armFolkert de Vries-14/+6
2025-08-29std: haiku: fix `B_FIND_PATH_IMAGE_PATH`Pavel Grigorenko-1/+1
2025-08-29autoderef final ty is already resolvedlcnr-16/+10
2025-08-29Correctly handle different crate types disagreeing if the allocator shim is ↵bjorn3-29/+46
exported Previously it would attempt to export the allocator shim even linking for a crate type which pulls in the allocator shim from a dylib rather than locally defining it.
2025-08-29Fix typo in commentbjorn3-1/+1
2025-08-29Ensure we emit an allocator shim when only some crate types need onebjorn3-9/+50
2025-08-29Stabilize file_as_c_strAlice Ryhl-2/+2
2025-08-29cleanup proof tree implementation and add cachelcnr-441/+331
2025-08-29Merge pull request #20560 from ChayimFriedman2/analysis-stats-improveLukas Wirth-3/+52
fix: Add progress bars to more places in analysis-stats
2025-08-29Put `TokenStream` stuff in a sensible order.Nicholas Nethercote-67/+65
I.e. the type definition, then a single inherent `impl` block, then the trait `impl` blocks. The lack of sensible ordering here has bugged me for some time.
2025-08-29Remove very outdated comment about token streams.Nicholas Nethercote-9/+0
They're now just an `Arc<Vec<TokenTree>>`. No ropes, no views, nothing like that.
2025-08-29Auto merge of #145978 - Zalathar:rollup-0dzk72g, r=Zalatharbors-118/+231
Rollup of 9 pull requests Successful merges: - rust-lang/rust#143713 (Add a mailmap entry for gnzlbg) - rust-lang/rust#144275 (implement Sum and Product for Saturating(u*)) - rust-lang/rust#144354 (fix(std): Fix undefined reference to __my_thread_exit on QNX 8.0) - rust-lang/rust#145387 (Remove TmpLayout in layout_of_enum) - rust-lang/rust#145793 (std library: use execinfo library also on NetBSD.) - rust-lang/rust#145884 (Test `instrument-mcount` codegen) - rust-lang/rust#145947 (Add more to the `[workspace.dependencies]` section in the top-level `Cargo.toml`) - rust-lang/rust#145972 (fix `core::marker::Destruct` doc) - rust-lang/rust#145977 (tests: Ignore basic-stepping.rs on riscv64) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-29Don't print captures in `TestCx::normalize_platform_differences`Zalathar-7/+4
This appears to have been leftover debugging code. If the capture information turns out to have still been useful, we can find a way to emit it in a way that doesn't interfere with overhauling compiletests's output capture system.
2025-08-29Move module `compute_diff` into `compiletest::runtest`Zalathar-5/+4
The code in this module is always called in the context of running an individual tests, and sometimes prints output that needs to be captured. Moving this module into `runtest` will make it easier to find and audit all of the print statements that need to be updated when overhauling output-capture.
2025-08-29Change the `logv` function into a `TestCx` method.Zalathar-23/+19
When working on a new output-capture system, this will make it easier to obtain a capturing stream from the test context.
2025-08-29Don't bother logging an arbitrary subset of the compiletest configZalathar-48/+3
Running `./x --verbose` will still print out the command-line arguments, and setting `RUST_LOG=compiletest` will now log the full config instead of a subset.
2025-08-29Rollup merge of #145977 - CaiWeiran:basic-stepping-test, r=jieyouxuStuart Cook-0/+1
tests: Ignore basic-stepping.rs on riscv64 Same as [PR 145745](https://github.com/rust-lang/rust/pull/145745) r? `@lqd`
2025-08-29tests: Ignore basic-stepping.rs on riscv64Caiweiran-0/+1
2025-08-29Rollup merge of #145972 - neeko-cat:patch-2, r=ibraheemdevStuart Cook-1/+1
fix `core::marker::Destruct` doc `~const` bounds are now `[const]` I think... Related: rust-lang/rust#143874, rust-lang/rust#133214
2025-08-29Rollup merge of #145947 - nnethercote:workspace-members-2, r=KobzolStuart Cook-85/+100
Add more to the `[workspace.dependencies]` section in the top-level `Cargo.toml` Following on from rust-lang/rust#145740. r? `@Kobzol`
2025-08-29Rollup merge of #145884 - clubby789:test-mcount, r=Mark-SimulacrumStuart Cook-0/+24
Test `instrument-mcount` codegen Closes rust-lang/rust#92109 by testing that a call to `mcount` is actually emitted
2025-08-29Rollup merge of #145793 - he32:netbsd-libexecinfo-fix, r=Mark-SimulacrumStuart Cook-0/+1
std library: use execinfo library also on NetBSD. The execinfo library is also available on NetBSD.
2025-08-29Rollup merge of #145387 - zachs18:remove-tmplayout, r=cjgillotStuart Cook-30/+9
Remove TmpLayout in layout_of_enum 09a3846 from <https://github.com/rust-lang/rust/pull/103693> made LayoutData be owned instead of interned in `Variants::Multiple::variants`[^1], so there's no need for `TmpLayout` in layout_of_enum anymore, and we can just store the variants' layouts directly in the prospective `LayoutData`s' `variants` fields. This should have no effect on semantics or layout. (written as part of rust-lang/rust#145337 but not related to the layout optimizations in that PR) [^1]: see line 1154 of `compiler/rustc_target/src/abi/mod.rs` in the linked commit; `Variants::Multiple::variants` effectively changed from `IndexVec<.., Layout<'tcx>>` to `IndexVec<.., LayoutData>` where the `LayoutData`s are not interned as `Layout`s (`LayoutData` was at the time called `LayoutS`)
2025-08-29Rollup merge of #144354 - rafaeling:fix-142726-qnx8-link-fail, r=tgross35Stuart Cook-1/+1
fix(std): Fix undefined reference to __my_thread_exit on QNX 8.0 When cross-compiling for the x86_64/aarch64-unknown-nto-qnx800 target (QNX SDP 8.0), the build fails during the final link stage with the error: ``` error: linking with `qcc` failed: exit status: 1 ... = note: undefined reference to `__my_thread_exit' ``` - **On QNX 7.1**: The __my_thread_exit symbol is defined and exported by the main C library (libc.a/libc.so). The std backtrace code can therefore successfully take its address at compile time. - **On QNX 8.0**: As part of a toolchain modernization, this symbol has been refactored. It is no longer present in any of the standard system libraries (.a or .so). This patch addresses the problem at its source by conditionally compiling the problematic code. Fixes rust-lang/rust#142726
2025-08-29Rollup merge of #144275 - Qelxiros:saturating-arithmetic, r=tgross35Stuart Cook-1/+93
implement Sum and Product for Saturating(u*) ACP: rust-lang/libs-team#604 `@rustbot` label +needs-fcp
2025-08-29Rollup merge of #143713 - tgross35:mailmap, r=Mark-SimulacrumStuart Cook-0/+1
Add a mailmap entry for gnzlbg The submodule->subtree changes add a lot of commits with the GitHub email.
2025-08-29Auto merge of #145377 - ChayimFriedman2:solver-def-id, r=lcnrbors-178/+234
Switch next solver to use a specific associated type for trait def id The compiler just puts `DefId` in there, but rust-analyzer uses different types for each kind of item. See [the Zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/185405-t-compiler.2Frust-analyzer/topic/Implmentating.20New.20Trait.20Solver/near/534329794). In short, it will be a tremendous help to r-a to use specific associated types, while for the solver and the compiler it's a small change. So I ported `TraitId`, as a proof of concept and it's also likely the most impactful. r? types
2025-08-29Mark pipe2 supported in AndroidMatthew Maurer-0/+1
Android has supported pipe2 since 2010, long before the current min SDK.
2025-08-29doc: Add `*-unknown-managarm-mlibc` documentationno92-0/+57
2025-08-29compiler: Add `{x86_64,aarch64,riscv64gc}-unknown-managarm-mlibc` targetsno92-4/+109
Co-authored-by: Dennis Bonke <dennis@managarm.org>
2025-08-28implement Sum and Product for Saturating(u*)Jeremy Smart-1/+93
2025-08-28std: Start supporting WASIp2 nativelyAlex Crichton-16/+212
This commit is the start of an effort to support WASIp2 natively in the standard library. Before this commit the `wasm32-wasip2` target behaved exactly like `wasm32-wasip1` target by importing APIs from the core wasm module `wasi_snapshot_preview1`. These APIs are satisfied by the `wasm-component-ld` target by using an [adapter] which implements WASIp1 in terms of WASIp2. This adapter comes at a cost, however, in terms of runtime indirection and instantiation cost, so ideally the adapter would be removed entirely. The purpose of this adapter was to provide a smoother on-ramp from WASIp1 to WASIp2 when it was originally created. The `wasm32-wasip2` target has been around for long enough now that it's much more established. Additionally the only thing historically blocking using WASIp2 directly was implementation effort. Work is now underway to migrate wasi-libc itself to using WASIp2 directly and now seems as good a time as any to migrate the Rust standard library too. Implementation-wise the milestones here are: * The `wasm32-wasip2` target now also depends on the `wasi` crate at version 0.14.* in addition to the preexisting dependency of 0.11.*. The 0.14.* release series binds WASIp2 APIs instead of WASIp1 APIs. * Some preexisting naming around `mod wasi` or `wasi.rs` was renamed to `wasip1` where appropriate. For example `std::sys::pal::wasi` is now called `std::sys::pal::wasip1`. * More platform-specific WASI modules are now split between WASIp1 and WASIp2. For example getting the current time, randomness, and process arguments now use WASIp2 APIs directly instead of using WASIp1 APIs that require an adapter. It's worth pointing out that this PR does not migrate the entire standard library away from using WASIp1 APIs on the `wasm32-wasip2` target. Everything related to file descriptors and filesystem APIs is still using WASIp1. Migrating that is left for a future PR. In the meantime the goal of this change is to lay the groundwork necessary for migrating in the future. Eventually the goal is to drop the `wasi` 0.11.* dependency on the `wasm32-wasip2` target (the `wasm32-wasip1` target will continue to retain this dependency). [adapter]: https://github.com/bytecodealliance/wasmtime/blob/main/crates/wasi-preview1-component-adapter/README.md
2025-08-28Add a sanity check to bootstrap for wasm-component-ldAlex Crichton-0/+10
For `wasm32-wasip2`-and-beyond this tool is required, so in case it's disabled in `config.toml` add a sanity-check that it's present in the environment.
2025-08-28bootstrap: bump cc-rs to 1.2.28no92-3/+3
2025-08-28Merge pull request #2553 from ali90h/fix-stab-guide-gating-v2jyn-1/+1
stabilization_guide: fix macro name and syntax in gating example
2025-08-28Merge pull request #2556 from ali90h/date-sweep-2025-08-diag-testsjyn-9/+9
dates: refresh diagnostics/ and tests/ annotated dates to August 2025
2025-08-28Merge pull request #2559 from ali90h/date-sweep-2025-08-types-traitsjyn-9/+9
dates: refresh type system & traits date annotations to Aug/2025
2025-08-28Merge pull request #2558 from ali90h/date-sweep-2025-08-queriesjyn-3/+3
dates: refresh query-system date annotations to 2025-08 (preserve style)
2025-08-28Merge pull request #2557 from ali90h/date-sweep-2025-08-infrajyn-12/+12
dates: refresh infra/tooling date annotations to Aug 2025
2025-08-28When mapping next-solver's `dyn` type, add `Self` (aka. bound var ^1.0) to ↵Chayim Refael Friedman-1/+70
auto traits' substitutions Chalk represents dyn types as a list of predicate, the self type should be there. The next solver represents them quite differently. The `Self` was forgotten for the auto trait case.
2025-08-28fix `core::marker::Destruct` docneeko-cat-1/+1
2025-08-28Auto merge of #145970 - GuillaumeGomez:rollup-pr11qds, r=GuillaumeGomezbors-194/+514
Rollup of 6 pull requests Successful merges: - rust-lang/rust#142472 (Add new `doc(attribute = "...")` attribute) - rust-lang/rust#145368 (CFI: Make `lto` and `linker-plugin-lto` work the same for `compiler_builtins`) - rust-lang/rust#145853 (Improve error messages around invalid literals in attribute arguments) - rust-lang/rust#145920 (bootstrap: Explicitly mark the end of a failed test's captured output) - rust-lang/rust#145937 (add doc-hidden to exports in attribute prelude) - rust-lang/rust#145965 (Move exporting of profiler and sanitizer symbols to the LLVM backend) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-28Rollup merge of #145965 - bjorn3:sanitize_symbol_export_improvements, r=lqdGuillaume Gomez-54/+33
Move exporting of profiler and sanitizer symbols to the LLVM backend Only the LLVM backend needs those specific symbols exported and it only needs them to be exported for LTO, not from cdylibs in general.
2025-08-28Rollup merge of #145937 - jdonszelmann:doc-hidden-prelude, r=fmeaseGuillaume Gomez-1/+11
add doc-hidden to exports in attribute prelude Seems to fix rust-lang/rust#145870, at least temporarily. The underlying problem of course is still there. r? `@fmease` <img width="653" height="167" alt="image" src="https://github.com/user-attachments/assets/b5a8094c-849e-4328-997d-b772f9aa4088" /> Fixes rust-lang/rust#145870
2025-08-28Rollup merge of #145920 - Zalathar:failure-stdout, r=jieyouxuGuillaume Gomez-1/+7
bootstrap: Explicitly mark the end of a failed test's captured output While working on some compiletest stuff, I noticed that when bootstrap prints a failed test's captured output, there's no indication of where that output actually ends. In addition to indicating where the captured output ends, this end marker also makes it easier to see the relevant test name when scrolling upwards in terminal output.
2025-08-28Rollup merge of #145853 - JonathanBrouwer:fix-lit-parsing, r=jdonszelmannGuillaume Gomez-71/+64
Improve error messages around invalid literals in attribute arguments r? `@jdonszelmann` This previously created two errors, which is a bit ugly and the second one didn't add any value Blocked on https://github.com/rust-lang/rust/pull/143193
2025-08-28Rollup merge of #145368 - rcvalle:rust-cfi-fix-142284, r=dianqkGuillaume Gomez-12/+23
CFI: Make `lto` and `linker-plugin-lto` work the same for `compiler_builtins` Fix rust-lang/rust#142284 by ensuring that `#![no_builtins]` crates can still emit bitcode when proper (i.e., non-rustc) LTO (i.e., -Clinker-plugin-lto) is used.
2025-08-28Rollup merge of #142472 - GuillaumeGomez:doc-attribute-attribute, r=fmeaseGuillaume Gomez-55/+376
Add new `doc(attribute = "...")` attribute Fixes rust-lang/rust#141123. The implementation and purpose of this new `#[doc(attribute = "...")]` attribute is very close to `#[doc(keyword = "...")]`. Which means that luckily for us, most of the code needed was already in place and `@Noratrieb` nicely wrote a first draft that helped me implement this new attribute very fast. Now with all this said, there is one thing I didn't do yet: adding a `rustdoc-js-std` test. I added GUI tests with search results for attributes so should be fine but I still plan on adding one for it once documentation for builtin attributes will be written into the core/std libs. You can test it [here](https://rustdoc.crud.net/imperio/doc-attribute-attribute/foo/index.html). cc `@Noratrieb` `@Veykril`