about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2024-12-27Rollup merge of #134815 - 9names:sort_platform_md_targets, r=jieyouxu许杰友 Jieyou Xu (Joe)-52/+52
Sort triples by name in platform_support.md When looking for riscv32emc support, I missed it at first because it was at the end of the tier3 target list [here](https://doc.rust-lang.org/rustc/platform-support.html#tier-3). These lists are *mostly* dictionary sorted so I assumed it should be near the riscv32i* targets. This PR puts all targets back in dictionary order. There were only a few outside of tier3. I ended up writing a small program to sort them because I did not trust myself to do it manually, but I stopped short of fully automating it. I have manually reviewed the output to confirm it still has the same number of entries, and that the changed values do follow the ordering I would expect. For folks who would prefer to review code than manual textual changes, the sorting program (including inputs) is [here.](https://github.com/9names/platform_sort_arch/blob/main/src/main.rs)
2024-12-27Rollup merge of #134806 - notriddle:notriddle/parent-path-is-better, ↵许杰友 Jieyou Xu (Joe)-39/+80
r=GuillaumeGomez rustdoc: use shorter paths as preferred canonical paths This is a solution to [the `std::sync::poison` linking problem](https://github.com/rust-lang/rust/pull/134692#issuecomment-2560373308), and, in general, makes intra-doc links shorter and clearer. > Done. This helped with the search, but not with the things like `MutexGuard`'s doc's reference to `Mutex::lock` being converted to the absolute (unstable) `std::sync::poison::Mutex` path. cc `@tgross35` r? `@GuillaumeGomez`
2024-12-27Rollup merge of #134787 - fmease:spruce-up-queries, r=compiler-errors许杰友 Jieyou Xu (Joe)-106/+223
Spruce up the docs of several queries related to the type/trait system and const eval - Editorial - Proper rustdoc summary/synopsis line by making use of extra paragraphs: Leads to better rendered output on module pages, in search result lists and overall, too - Use rustdoc warning blocks for admonitions of the form "do not call / avoid calling this query directly" - Use intra-doc links of the form ``[`Self::$query`]`` to cross-link queries. Indeed, such links are generally a bit brittle due to the existence of `TyCtxtFeed` which only contains a subset of queries. Therefore the docs of `feedable` queries cannot cross-link to non-`feedable` ones. I'd say it's fine to use intra-doc links despite the potential/unlikely occasional future breakage (if a query with the aforementioned characteristics becomes `feedable`). `Self::` is nicer than `TyCtxt::` (which would be more stable) since it accounts for other contexts like `TyCtxt{Feed,At,Ensure{,WithValue}}` - Informative - Generally add, flesh out and correct some doc comments - Add *Panic* sections (to a few selected queries only). The lists of panics aren't necessarily exhaustive and focus on the more "obvious" or "important" panics. - Where applicable add a paragraph calling attention to the relevant [`#[rustc_*]` TEST attribute](https://rustc-dev-guide.rust-lang.org/compiler-debugging.html#rustc_-test-attributes) The one non-doc change (it's internal and not observable): Be even more defensive in `query constness`'s impl (spiritual follow-up to #134122) (see self review comment). Fixes #133494. r\? **any**(compiler-errors, oli-obk)
2024-12-27Rollup merge of #134759 - Zalathar:normalize, r=jieyouxu许杰友 Jieyou Xu (Joe)-485/+508
compiletest: Remove the `-test` suffix from normalize directives This suffix was an artifact of using the same condition-checking engine as the `ignore-*` and `only-*` directives, but in practice we have only 2 tests that legitimately use a condition, and both of them only care about 32-bit vs 64-bit. This PR detaches `normalize-*` directives from the condition checker, and replaces it with a much simpler system of four explicit `NormalizeKind` values. It then takes advantage of that simplicity to get rid of the `-test` suffix. --- Addresses one of the points of #126372. The new name-checking code is a bit quaint, but I think it's a definite improvement over the status quo. --- The corresponding dev-guide update is https://github.com/rust-lang/rustc-dev-guide/pull/2172. r? jieyouxu
2024-12-27Rollup merge of #134622 - ChrisDenton:write-file-utf8, r=Mark-Simulacrum许杰友 Jieyou Xu (Joe)-1/+26
Windows: Use WriteFile to write to a UTF-8 console If the console code page is UTF-8 then we can simply write to it without needing to convert to UTF-16 and calling `WriteConsole`.
2024-12-27Rollup merge of #134606 - RalfJung:ptr-copy-docs, r=Mark-Simulacrum许杰友 Jieyou Xu (Joe)-5/+5
ptr::copy: fix docs for the overlapping case Fixes https://github.com/rust-lang/unsafe-code-guidelines/issues/549 As discussed in that issue, it doesn't make any sense for `copy` to read a byte via `src` after it was already written via `dst`. The entire point of this method is that is copies correctly even if they overlap, and that requires always reading any given location before writing it. Cc `@rust-lang/opsem`
2024-12-27Spruce up the docs of several queries related to the type/trait system and ↵León Orell Valerian Liehr-106/+223
const eval
2024-12-27Remove the `-test` suffix from normalize directivesZalathar-443/+442
2024-12-27Don't use `parse_cfg_name_directive` for normalize directivesZalathar-16/+49
This is a little more verbose, but also more explicit, and avoids invoking the full condition engine when only the pointer-width conditions are used.
2024-12-27Sort triples by name in platform_support.md9names-52/+52
2024-12-27Auto merge of #134812 - jhpratt:rollup-a9klvez, r=jhprattbors-63/+175
Rollup of 8 pull requests Successful merges: - #131522 ([macro_metavar_expr_concat] Fix #128346) - #134379 (Add `into_array` conversion destructors for `Box`, `Rc`, and `Arc`.) - #134644 (Document collection `From` and `FromIterator` impls that drop duplicate keys.) - #134649 (Fix forgetting to save statx availability on success) - #134728 (Use scoped threads in `std::sync::Barrier` examples) - #134782 (Update Code Example for `Iterator::rposition`) - #134789 (unwinding: bump version to fix naked_asm on Xous) - #134791 (docs: inline `std::ffi::c_str` types to `std::ffi`) r? `@ghost` `@rustbot` modify labels: rollup
2024-12-26Rollup merge of #134791 - notriddle:notriddle/inline-ffi-error-types, r=tgross35Jacob Pratt-7/+7
docs: inline `std::ffi::c_str` types to `std::ffi` Rustdoc has no way to show that an item is stable, but only at a different path. `std::ffi::c_str::NulError` is not stable, but `std::ffi::NulError` is. To avoid marking these types as unstable when someone just wants to follow a link from `CString`, inline them into their stable paths. Fixes #134702 r? `@tgross35`
2024-12-26Rollup merge of #134789 - betrusted-io:bump-unwinding-to-0.25.0, ↵Jacob Pratt-3/+3
r=Mark-Simulacrum unwinding: bump version to fix naked_asm on Xous With #80608 the `unwinding` crate no longer builds. The upstream crate has been updated to build by manually adding directives to the naked_asm stream. Bump the dependency in Rust to get this newer version. This fixes the build for Xous, and closes #134403.
2024-12-26Rollup merge of #134782 - wtlin1228:docs/iter-rposition, r=Mark-SimulacrumJacob Pratt-0/+1
Update Code Example for `Iterator::rposition` Added an additional assertion to the example to show the behavior of `iter.next_back` after using `iter.rposition`.
2024-12-26Rollup merge of #134728 - deltragon:barrier-doc, r=tgross35Jacob Pratt-34/+26
Use scoped threads in `std::sync::Barrier` examples This removes boilerplate around `Arc`s and makes the code more clear.
2024-12-26Rollup merge of #134649 - SUPERCILEX:statx-remember, r=thomccJacob Pratt-1/+5
Fix forgetting to save statx availability on success Looks like we forgot to save the statx state on success which means the first failure (common when checking if a file exists) will always require spending an invalid statx to confirm the failure is real. r? `@thomcc`
2024-12-26Rollup merge of #134644 - kpreid:duplicates, r=Mark-SimulacrumJacob Pratt-1/+27
Document collection `From` and `FromIterator` impls that drop duplicate keys. This behavior is worth documenting because there are other plausible alternatives, such as panicking when a duplicate is encountered, and it reminds the programmer to consider whether they should, for example, coalesce duplicate keys first. Followup to #89869.
2024-12-26Rollup merge of #134379 - bjoernager:slice-as-array, r=dtolnayJacob Pratt-0/+60
Add `into_array` conversion destructors for `Box`, `Rc`, and `Arc`. Tracking issue: #133508 This PR adds the `into_array` destructor for `alloc::boxed::Box<[T]>`, `alloc::rc::Rc<[T]>`, and `alloc::sync::Arc<[T]>`. Note that this PR assumes the initial proposal of these functions returning `Option`. It is still an open question whether this should instead be `Result`. We can, however, easily change this in a follow-up PR with the necessary consensus.
2024-12-26Rollup merge of #131522 - c410-f3r:unlock-rfc-2011, r=chenyukangJacob Pratt-17/+46
[macro_metavar_expr_concat] Fix #128346 Fix #128346 Fix #131393 The syntax is invalid in both issues so I guess that theoretically the compiler should have aborted early. This PR tries to fix a local problem but let me know if there are better options. cc `@petrochenkov` if you are interested
2024-12-27Simplify or delete normalize directives that don't care about bit-widthZalathar-31/+22
2024-12-26Adjust test for slightly changed inlining behaviorMichael Howell-30/+30
2024-12-26docs: inline `core::ffi::c_str` types to `core::ffi`Michael Howell-2/+2
2024-12-26rustdoc: use shorter paths as preferred canonical pathsMichael Howell-9/+50
This is a solution to the `std::sync::poison` linking problem, and, in general, makes intra-doc links shorter and clearer.
2024-12-26Auto merge of #134795 - GuillaumeGomez:rollup-9x8n7pi, r=GuillaumeGomezbors-81/+806
Rollup of 4 pull requests Successful merges: - #134656 (Migrate `incr-add-rust-src-component` to rmake) - #134664 (Account for removal of multiline span in suggestion) - #134772 (Improve/cleanup rustdoc code) - #134781 (Add more `begin_panic` normalizations to panic backtrace tests) r? `@ghost` `@rustbot` modify labels: rollup
2024-12-26Rollup merge of #134781 - Zalathar:backtrace, r=SparrowLii,jieyouxuGuillaume Gomez-4/+12
Add more `begin_panic` normalizations to panic backtrace tests Since #123244, these tests have started failing locally on some systems (#133997) due to minor variations in how `begin_panic` is printed in the backtrace. The variation appears to occur on macOS when `rust.debuginfo-level = "line-tables-only"` is set, which is the default in `config.compiler.toml`. It does not occur when the debuginfo level is set to 1. The variation doesn't seem relevant to these tests, so this PR simply adds another custom normalization rule to account for the variation. --- Will conflict with #134759.
2024-12-26Rollup merge of #134772 - GuillaumeGomez:improve-rustdoc, r=notriddleGuillaume Gomez-24/+22
Improve/cleanup rustdoc code Ran clippy on rustdoc, always beneficial. :) r? `@notriddle`
2024-12-26Rollup merge of #134664 - estebank:sugg-highlighting, r=jieyouxuGuillaume Gomez-7/+641
Account for removal of multiline span in suggestion When highlighting the removed parts of a suggestion, properly account for spans that cover more than one line. Fix #134485. ![Screenshot of the highlighted output](https://github.com/user-attachments/assets/18bcd9bc-3bec-4b79-a9d7-e4ea4e6289ad)
2024-12-26Rollup merge of #134656 - jieyouxu:migrate-incr-add-rust-src-component, ↵Guillaume Gomez-46/+131
r=wesleywiser Migrate `incr-add-rust-src-component` to rmake This PR partially supersedes #128562, and ports the Makefile-based `tests/run-make/incr-add-rust-src-component` to use rmake.rs infra. Part of #121876. This run-make test is a regression test for https://github.com/rust-lang/rust/issues/70924. It (tries to) checks that if we add the `rust-src` component in between two incremental compiles, that the compiler doesn't ICE on the second invocation. - Original issue:https://github.com/rust-lang/rust/issues/70924 - Fix PR: https://github.com/rust-lang/rust/pull/72767 - PR adding this regression test: https://github.com/rust-lang/rust/pull/72952 However, the Makefile version of this used `$SYSROOT/lib/rustlib/src/rust/src/libstd/lib.rs`, but that actually got moved around and reorganized over the years. As of Dec 2024, the `rust-src` component is more like (specific for our purposes): ``` $SYSROOT/lib/rustlib/src/rust/ library/std/src/lib.rs src/ ``` However, this run-make test is ancient and it exercises incr-comp system logic. I'm not sure if this test would actually catch the original regression. This PR was co-authored with `@Oneirical.` r? incremental try-job: i686-msvc try-job: x86_64-mingw-1 try-job: x86_64-msvc try-job: aarch64-apple
2024-12-26Auto merge of #134788 - flip1995:clippy-subtree-update, r=matthiaskrgrbors-1415/+6002
Clippy subtree update r? `@Manishearth`
2024-12-26Account for removal of multiline span in suggestionEsteban Küber-7/+641
When highlighting the removed parts of a suggestion, properly account for spans that cover more than one line. Fix #134485.
2024-12-26docs: inline `std::ffi::c_str` types to `std::ffi`Michael Howell-5/+5
Rustdoc has no way to show that an item is stable, but only at a different path. `std::ffi::c_str::NulError` is not stable, but `std::ffi::NulError` is. To avoid marking these types as unstable when someone just wants to follow a link from `CString`, inline them into their stable paths.
2024-12-26Auto merge of #134774 - jyn514:rustc-dev-short-backtraces, r=jieyouxubors-2/+6
fix default-backtrace-ice test when running `tests/ui/panics/default-backtrace-ice.rs locally it gave this error: ``` failures: ---- [ui] tests/ui/panics/default-backtrace-ice.rs stdout ---- Saved the actual stderr to "/home/jyn/src/rust3/build/x86_64-unknown-linux-gnu/test/ui/panics/default-backtrace-ice/default-backtrace-ice.stderr" diff of stderr: 7 8 aborting due to `-Z treat-err-as-bug=1` 9 stack backtrace: - (end_short_backtrace) - (begin_short_backtrace) - (end_short_backtrace) - (begin_short_backtrace) + [... omitted 22 frames ...] + ``` (note that you must *not* use --bless; we previously did not have an error annotation to verify it was a full backtrace instead of a short backtrace.) this is a regression from setting RUST_BACKTRACE=1 by default in https://github.com/rust-lang/rust/pull/134743. we need to turn off the new behavior when running UI tests so that they reflect our dist compiler. normally that's done by checking `sess.unstable_opts.ui_testing`, but this happens extremely early in the compiler before we've expanded arg files. do an extremely simple hack that doesn't work in all cases - we don't need it to work in all cases, only when running UI tests. cc https://github.com/rust-lang/rust/pull/129658#issuecomment-2561988081 r? `@jieyouxu`
2024-12-26unwinding: bump version to fix asmSean Cross-3/+3
With #80608 the `unwinding` crate no longer builds. The upstream crate has been updated to build by manually adding directives to the naked_asm stream. Bump the dependency in Rust to get this newer version. This fixes the build for Xous, and closes #134403. Signed-off-by: Sean Cross <sean@xobs.io>
2024-12-26Merge commit '609cd310be44677ae31d452a17b0f8207e1abfe1' into ↵Philipp Krones-1415/+6002
clippy-subtree-update
2024-12-26Rustup (#13881)Philipp Krones-247/+164
r? @ghost changelog: none
2024-12-26Bump nightly version -> 2024-12-26Philipp Krones-2/+2
2024-12-26Merge remote-tracking branch 'upstream/master' into rustupPhilipp Krones-1353/+5968
2024-12-26Auto merge of #134784 - RalfJung:miri-sync, r=RalfJungbors-719/+868
Miri subtree update r? `@ghost`
2024-12-26fix examples using `Ty.kind()` in the book (#13875)Philipp Krones-2/+2
`Ty.kind()` is a method. changelog: none
2024-12-26Auto merge of #132431 - shahn:from_iterator_more_tuples, r=Amanieubors-51/+65
From iterator for more tuples
2024-12-26Merge pull request #4109 from RalfJung/flagsRalf Jung-44/+24
Error on some invalid flag combinations
2024-12-26Impl FromIterator for tuples with arity 1-12Sebastian Hahn-33/+47
2024-12-26Fix formattingSebastian Hahn-19/+19
2024-12-26Add more `begin_panic` normalizations to panic backtrace testsZalathar-4/+12
2024-12-26docs: update code example for Iterator#rpositionwtlin1228-0/+1
2024-12-25fix default-backtrace-ice testjyn-2/+6
when running `tests/ui/panics/default-backtrace-ice.rs locally it gave this error: ``` failures: ---- [ui] tests/ui/panics/default-backtrace-ice.rs stdout ---- Saved the actual stderr to "/home/jyn/src/rust3/build/x86_64-unknown-linux-gnu/test/ui/panics/default-backtrace-ice/default-backtrace-ice.stderr" diff of stderr: 7 8 aborting due to `-Z treat-err-as-bug=1` 9 stack backtrace: - (end_short_backtrace) - (begin_short_backtrace) - (end_short_backtrace) - (begin_short_backtrace) + [... omitted 22 frames ...] + ``` this is a regression from setting RUST_BACKTRACE=1 by default. we need to turn off the new behavior when running UI tests so that they reflect our dist compiler. normally that's done by checking `sess.unstable_opts.ui_testing`, but this happens extremely early in the compiler before we've expanded arg files. do an extremely simple hack that doesn't work in all cases - we don't need it to work in all cases, only when running UI tests.
2024-12-26Auto merge of #134768 - RalfJung:const_alloc_layout, r=jhprattbors-10/+5
stabilize const_alloc_layout libs-api FCP passed in https://github.com/rust-lang/rust/issues/67521 Fixes #67521
2024-12-25Improve rustdoc codeGuillaume Gomez-24/+22
2024-12-25stabilize const_alloc_layoutRalf Jung-10/+5
2024-12-25Auto merge of #134703 - poliorcetics:ab/push-ovsylkzsoxku, r=GuillaumeGomezbors-12/+10
nits: Cleanup of `librustdoc::clean::Cfg::simplify_with` r? `@GuillaumeGomez`