Repository navigation
Rollup of 9 pull requests - #165793
Merged
Merged
Rollup of 9 pull requests#165793
Conversation
Currently we build it even when the `NEEDS_CANONICAL` test fails.
It has a single call site. This will enable an optimization in the next commit.
Do a `NEEDS_CANONICAL` check on the entire input. We already have such checks on the relevant parts, but this lets us entirely avoid building a `Canonicalizer` when the check fails.
It causes it to intern or not intern. Instead we can just let the call site that passes in `true` do its own interning.
`decode_error_kind` for Hermit only knew 15 errno values and returned `Uncategorized` for all others. For example, removing a non-empty directory failed with `Uncategorized` instead of `DirectoryNotEmpty`. Hermit uses the Linux errno numbering, so use the same mapping as on Unix. `hermit-abi` defines no `ENOTSUP` and `EWOULDBLOCK` is an alias of `EAGAIN`, so both need no separate arm.
…ts should be skipped in Miri due to missing shims
It is represented as an ADT, so needs custom logic to be accepted. The point of this type is that it's compatible with its C counterpart, so the lint definitely should accept it.
```
error[E0364]: `f` is private, and cannot be re-exported
--> $DIR/privacy-early.rs:10:13
|
LL | pub macro m() {
LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| --------- in this macro invocation
|
note: consider marking `f` as `pub` in the imported module
--> $DIR/privacy-early.rs:6:5
|
LL | fn f() {}
| ^^^^^^^^^
```
where it was
```
error[E0364]: `f` is private, and cannot be re-exported
--> $DIR/privacy-early.rs:10:13
|
LL | pub macro m() {
LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| --------- in this macro invocation
|
note: consider marking `f` as `pub` in the imported module
--> $DIR/privacy-early.rs:10:13
|
LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| --------- in this macro invocation
```
Use span when suggesting making module public:
```
note: consider declaring module `foo` with `pub`
--> $DIR/E0365.rs:1:1
|
LL | / mod foo {
LL | | pub const X: u32 = 1;
LL | | }
| |_^
```
Show container when talking about enclosing module:
```
note: consider marking `f` as `pub` in the imported module
--> $DIR/privacy-early.rs:6:5
|
LL | mod foo {
LL | fn f() {}
| ^^^^^^^^^
```
Use accurate descriptor for enclosing item:
```
note: consider declaring struct `S1` with `pub`
--> $DIR/crate-private-reexport.rs:3:1
|
LL | / struct S1 {
LL | | #[rustfmt::skip]
LL | | bar: i32,
LL | | }
| |_^
```
```
note: consider marking `Full` as `pub` in the imported variant
--> $DIR/issue-46209-private-enum-variant-reexport.rs:26:9
|
LL | enum Lieutenant {
LL | JuniorGrade,
LL | Full,
| ^^^^
```
like commit cbdd3f3 did for stable.
…e: field is not printed * In irrefutable patterns, the FieldPat is skipped, which means the name: field is not printed; since FieldPat can be listed out of order and the list can be incomplete, it is not generally possible to associate a given pattern within a Leaf or Variant with the actual field. the slightly janky indentation is consistent with the way the other PatKinds do it (with no comma) * avoid referring to std in THIR tests * review feedback (test too long) * review feedback (naming, explanation, test too long) * additional review feedback (test still too long)
…r=maxdexh std: use skip_unsupported_miri_tests to control when tests should be skipped in Miri due to missing shims We currently run some subset of std tests in Miri, skipping some because Miri doesn't support the operations they need. That is based on filters in the makefile. People don't know what is actually being tested and add random `cfg(miri)` in places to disable tests that were never run. This makes it quite hard to track which tests are being skipped and which operations we should add in Miri to get 100% std coverage. So let's replace that string-based filter with a cfg flag, `skip_unsupported_miri_tests`, that can be annotated at the tests. Unfortunately I can't figure out how to disable all doctests in a module based on a cfg flag, so this entirely disables std doctests being run in Miri in our CI. (We still run them in https://github.com/rust-lang/miri-test-libstd.) See prior discussion [on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/Miri.20vs.20tests.20in.20std/with/635913743). Docs PR: rust-lang/std-dev-guide#86 r? @tgross35 try-job: test-x86_64-gnu-aux
…beta, r=Kobzol Normalize "beta release channel" in `const-supertrait-unstable` test like commit cbdd3f3 did for stable. It failed on beta in <rust-lang#165713 (comment)>. r? @Kobzol
…, r=programmerjake Wrap proc-macro `EscapeError` enum into a struct As discussed in rust-lang#151973. Part of rust-lang#165750. r? @programmerjake
Tweak private re-export errors to point at correct span and have more context
Use the correct span when talking about imported module that should be marked as public:
```
error[E0364]: `f` is private, and cannot be re-exported
--> $DIR/privacy-early.rs:10:13
|
LL | pub macro m() {
LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| --------- in this macro invocation
|
note: consider marking `f` as `pub` in the imported module
--> $DIR/privacy-early.rs:6:5
|
LL | fn f() {}
| ^^^^^^^^^
```
where it was:
```
error[E0364]: `f` is private, and cannot be re-exported
--> $DIR/privacy-early.rs:10:13
|
LL | pub macro m() {
LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| --------- in this macro invocation
|
note: consider marking `f` as `pub` in the imported module
--> $DIR/privacy-early.rs:10:13
|
LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| --------- in this macro invocation
```
Use span when suggesting making module public:
```
note: consider declaring module `foo` with `pub`
--> $DIR/E0365.rs:1:1
|
LL | / mod foo {
LL | | pub const X: u32 = 1;
LL | | }
| |_^
```
Show container when talking about enclosing module:
```
note: consider marking `f` as `pub` in the imported module
--> $DIR/privacy-early.rs:6:5
|
LL | mod foo {
LL | fn f() {}
| ^^^^^^^^^
```
Use accurate descriptor for enclosing item:
```
note: consider declaring struct `S1` with `pub`
--> $DIR/crate-private-reexport.rs:3:1
|
LL | / struct S1 {
LL | | #[rustfmt::skip]
LL | | bar: i32,
LL | | }
| |_^
```
```
note: consider marking `Full` as `pub` in the imported variant
--> $DIR/issue-46209-private-enum-variant-reexport.rs:26:9
|
LL | enum Lieutenant {
LL | JuniorGrade,
LL | Full,
| ^^^^
```
…names, r=adwinwhite In irrefutable patterns, the FieldPat is skipped, which means the name: field is not printed since FieldPat can be listed out of order and the list can be incomplete, it is not generally possible to associate a given pattern within a Leaf or Variant with the actual field. the slightly janky indentation is consistent with the way the other PatKinds do it
…-opts, r=ShoyuVanilla Canonicalization cleanups I saw some moderate perf improvements locally with these changes but on CI they had no effect. Maybe due to PGO? Most of the changes are actually refactorings which I think are still worth merging. r? @ShoyuVanilla
…, r=JonathanBrouwer Remove unnecessary mut from HirIdValidator::check_nested_id Remove unnecessary `mut` from `HirIdValidator::check_nested_id`, as this method doesn't need a mutated self. See [#t-compiler/help > The check_nested_id in HirIdValidator doesn't need mut](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/The.20check_nested_id.20in.20HirIdValidator.20.20doesn.27t.20need.20mut/with/639210467) The changes compile successfully and pass the `./x check compiler/rustc_passes` check.
…, r=beetrees make improper_ctypes accept `x87_f80` tracking issue: rust-lang#163982 Like rust-lang#165274, but for `x87_f80`. It is represented as an ADT, so needs custom logic to be accepted. The point of this type is that it's compatible with its C counterpart, so the lint definitely should accept it. r? beetrees
std: map more errno values to ErrorKind on Hermit `decode_error_kind` for Hermit only knew 15 errno values and returned `Uncategorized` for all others. For example, removing a non-empty directory failed with `Uncategorized` instead of `DirectoryNotEmpty`. Hermit uses (more or less) the Linux errno numbering, so use the same mapping as on Unix. `hermit-abi` defines no `ENOTSUP` and `EWOULDBLOCK` is an alias of `EAGAIN`, so both need no separate arm.
Member
Author
|
Rollup of everything. @bors r+ rollup=never p=5 force |
Contributor
This comment has been minimized.
This comment has been minimized.
Contributor
This was referenced Nov 11, 2026
Contributor
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 9c56488 (parent) -> 9de7469 (this PR) Test differencesShow 1197 test diffsStage 1
Stage 2
(and 41 additional test diffs) Additionally, 1056 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 9de746938314271db6dbb62dc3b4f07288d07d54 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
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
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.
Successful merges:
const-supertrait-unstabletest #165727 (Normalize "beta release channel" inconst-supertrait-unstabletest)EscapeErrorenum into a struct #165750 (Wrap proc-macroEscapeErrorenum into a struct)x87_f80#165779 (make improper_ctypes acceptx87_f80)r? @ghost
Create a similar rollup