Skip to content

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Aug 24, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

compiler-errors and others added 16 commits August 23, 2025 16:49
fixes 134088, though it is a shame to lose some of this wonderful detail.
This avoids the need for `#![allow(non_upper_case_globals)]`.
Previously it indicated a single version, regardless of their count.
Observed in: davidlattimore/wild#1041
Dial down detail of B-tree description

fixes rust-lang#134088, though it is a shame to lose some of this wonderful detail.

r? ``@workingjubilee``

EDIT: newest versions keep old detail, but move it down a bit.
remove deprecated Error::description in impls

[libs-api permission](rust-lang/libs-team#615 (comment))

r? ``@cuviper``
or ``@jhpratt``
…=lcnr

Account for impossible bounds making seemingly unsatisfyable dyn-to-dyn casts

Fixes rust-lang#141806

When we have an impossible where clause like `dyn Trait<u8>: Sized`, this may make a dyn-to-dyn cast like `dyn Trait<()> -> dyn trait<u8>` to successfully type check as if it were a wide-to-thin ptr cast (discarding metadata):

https://github.com/rust-lang/rust/blob/16ad385579cebb6f7d53367c552661b6b51a4a02/compiler/rustc_hir_typeck/src/cast.rs#L862-L865

In borrowck, we are expecting that the only meaningful dyn-to-dyn cast to be a metadata-preserving wide-to-wide ptr cast, which requires that the principals of the dyn pointers are equal. Borrowck additionally assumes that these principals have already been proven equal *modulo regions*, and we thus ICE since `Trait<u8>` and `Trait<()>` do not unify:

https://github.com/rust-lang/rust/blob/16ad385579cebb6f7d53367c552661b6b51a4a02/compiler/rustc_borrowck/src/type_check/mod.rs#L1481-L1524

This PR fixes this ICE by checking whether the RHS of the cast is considered to be Sized in the environment of the MIR typeck, and if so then skipping over this dyn->dyn principal compatibility check.

r? ``@lcnr`` perhaps?
…rors

add span to struct pattern rest (..)

Struct pattern rest (`..`) did not retain span information compared to normal fields. This patch adds span information for it.

The motivation of this patch comes from when I implemented this PR for Clippy: rust-lang/rust-clippy#15000 (comment)

It is possible to get the span of the Et cetera in a bit roundabout way, but I thought this would be nicer.
cg_llvm: Replace the `llvm::Bool` typedef with a proper newtype

This should be nicer and more type-safe than the old typedef for `c_int`/`i32`.

Using `#[repr(transparent)]` should ensure that it's still ABI-compatible.
raw-dylib-elf: set correct `DT_VERDEFNUM`

Previously it indicated a single version, regardless of their count.
Observed in: davidlattimore/wild#1041
@jhpratt
Copy link
Member Author

jhpratt commented Aug 24, 2025

@bors r+ rollup

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. F-autodiff `#![feature(autodiff)]` O-hermit Operating System: Hermit O-SGX Target: SGX O-solid Operating System: SOLID O-unix Operating system: Unix-like O-wasi Operating system: Wasi, Webassembly System Interface O-windows Operating system: Windows S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. labels Aug 24, 2025
@bors
Copy link
Collaborator

bors commented Aug 24, 2025

📌 Commit 92bf516 has been approved by jhpratt

It is now in the queue for this repository.

@rustbot rustbot added the rollup A PR which is a rollup label Aug 24, 2025
@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 24, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Aug 24, 2025

@bors p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Aug 24, 2025

⌛ Testing commit 92bf516 with merge 4b9063c...

bors added a commit that referenced this pull request Aug 24, 2025
Rollup of 6 pull requests

Successful merges:

 - #135761 (Dial down detail of B-tree description)
 - #144373 (remove deprecated Error::description in impls)
 - #145620 (Account for impossible bounds making seemingly unsatisfyable dyn-to-dyn casts)
 - #145783 (add span to struct pattern rest (..))
 - #145817 (cg_llvm: Replace the `llvm::Bool` typedef with a proper newtype)
 - #145820 (raw-dylib-elf: set correct `DT_VERDEFNUM`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-apple failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [ui] tests/ui/stats/input-stats.rs stdout ----
Saved the actual stderr to `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/ui/stats/input-stats/input-stats.stderr`
diff of stderr:

23 ast-stats - Struct                    72 (NN.N%)             1
24 ast-stats - Lit                      144 (NN.N%)             2
25 ast-stats - Block                    216 (NN.N%)             3
- ast-stats Pat                      504 (NN.N%)             7            72
- ast-stats - Struct                    72 (NN.N%)             1
- ast-stats - Wild                      72 (NN.N%)             1
- ast-stats - Ident                    360 (NN.N%)             5
+ ast-stats Pat                      560 (NN.N%)             7            80
+ ast-stats - Struct                    80 (NN.N%)             1
+ ast-stats - Wild                      80 (NN.N%)             1
+ ast-stats - Ident                    400 (NN.N%)             5
30 ast-stats GenericParam             480 (NN.N%)             5            96
31 ast-stats GenericBound             352 (NN.N%)             4            88
32 ast-stats - Trait                    352 (NN.N%)             4

57 ast-stats - AngleBracketed            40 (NN.N%)             1
58 ast-stats Crate                     40 (NN.N%)             1            40
59 ast-stats ----------------------------------------------------------------
- ast-stats Total                  7_472                   129
+ ast-stats Total                  7_528                   129
61 ast-stats ================================================================
62 hir-stats ================================================================
63 hir-stats HIR STATS: input_stats

85 hir-stats - Ref                       48 (NN.N%)             1
86 hir-stats - Path                     624 (NN.N%)            13
87 hir-stats Generics                 560 (NN.N%)            10            56
+ hir-stats Pat                      400 (NN.N%)             5            80
+ hir-stats - Struct                    80 (NN.N%)             1
+ hir-stats - Wild                      80 (NN.N%)             1
+ hir-stats - Binding                  240 (NN.N%)             3
88 hir-stats GenericParam             400 (NN.N%)             5            80
- hir-stats Pat                      360 (NN.N%)             5            72
- hir-stats - Struct                    72 (NN.N%)             1
- hir-stats - Wild                      72 (NN.N%)             1
- hir-stats - Binding                  216 (NN.N%)             3
93 hir-stats Block                    288 (NN.N%)             6            48
94 hir-stats GenericBound             256 (NN.N%)             4            64
95 hir-stats - Trait                    256 (NN.N%)             4

119 hir-stats ImplItemId                 8 (NN.N%)             2             4
120 hir-stats ForeignItemId              4 (NN.N%)             1             4
121 hir-stats ----------------------------------------------------------------
- hir-stats Total                  8_584                   173
+ hir-stats Total                  8_624                   173
123 hir-stats ================================================================
124 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args stats/input-stats.rs`

error: 1 errors occurred comparing output.
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage2/bin/rustc" "/Users/runner/work/rust/rust/tests/ui/stats/input-stats.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/Users/runner/.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/Users/runner/work/rust/rust/vendor" "--sysroot" "/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage2" "--target=aarch64-apple-darwin" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/ui/stats/input-stats" "-A" "unused" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/Users/runner/work/rust/rust/build/aarch64-apple-darwin/native/rust-test-helpers" "-Zinput-stats"
stdout: none
--- stderr -------------------------------
ast-stats ================================================================
ast-stats POST EXPANSION AST STATS: input_stats
ast-stats Name                Accumulated Size         Count     Item Size
ast-stats ----------------------------------------------------------------
ast-stats Item                   1_584 (21.0%)            11           144
ast-stats - Enum                     144 ( 1.9%)             1
ast-stats - ExternCrate              144 ( 1.9%)             1
ast-stats - ForeignMod               144 ( 1.9%)             1
ast-stats - Impl                     144 ( 1.9%)             1
ast-stats - Trait                    144 ( 1.9%)             1
ast-stats - Fn                       288 ( 3.8%)             2
ast-stats - Use                      576 ( 7.7%)             4
ast-stats Ty                       896 (11.9%)            14            64
ast-stats - Ptr                       64 ( 0.9%)             1
ast-stats - Ref                       64 ( 0.9%)             1
ast-stats - ImplicitSelf             128 ( 1.7%)             2
ast-stats - Path                     640 ( 8.5%)            10
ast-stats PathSegment              888 (11.8%)            37            24
ast-stats Expr                     648 ( 8.6%)             9            72
ast-stats - InlineAsm                 72 ( 1.0%)             1
ast-stats - Match                     72 ( 1.0%)             1
ast-stats - Path                      72 ( 1.0%)             1
ast-stats - Struct                    72 ( 1.0%)             1
ast-stats - Lit                      144 ( 1.9%)             2
ast-stats - Block                    216 ( 2.9%)             3
ast-stats Pat                      560 ( 7.4%)             7            80
ast-stats - Struct                    80 ( 1.1%)             1
ast-stats - Wild                      80 ( 1.1%)             1
ast-stats - Ident                    400 ( 5.3%)             5
ast-stats GenericParam             480 ( 6.4%)             5            96
ast-stats GenericBound             352 ( 4.7%)             4            88
ast-stats - Trait                    352 ( 4.7%)             4
ast-stats AssocItem                320 ( 4.3%)             4            80
ast-stats - Fn                       160 ( 2.1%)             2
ast-stats - Type                     160 ( 2.1%)             2
ast-stats Variant                  208 ( 2.8%)             2           104
ast-stats FieldDef                 208 ( 2.8%)             2           104
ast-stats Block                    192 ( 2.6%)             6            32
ast-stats Stmt                     160 ( 2.1%)             5            32
ast-stats - Let                       32 ( 0.4%)             1
ast-stats - Semi                      32 ( 0.4%)             1
ast-stats - Expr                      96 ( 1.3%)             3
ast-stats Param                    160 ( 2.1%)             4            40
ast-stats Attribute                160 ( 2.1%)             5            32
ast-stats - DocComment                32 ( 0.4%)             1
ast-stats - Normal                   128 ( 1.7%)             4
ast-stats InlineAsm                120 ( 1.6%)             1           120
ast-stats FnDecl                   120 ( 1.6%)             5            24
ast-stats Local                     96 ( 1.3%)             1            96
ast-stats Arm                       96 ( 1.3%)             2            48
ast-stats ForeignItem               80 ( 1.1%)             1            80
ast-stats - Fn                        80 ( 1.1%)             1
ast-stats WherePredicate            72 ( 1.0%)             1            72
ast-stats - BoundPredicate            72 ( 1.0%)             1
ast-stats ExprField                 48 ( 0.6%)             1            48
ast-stats GenericArgs               40 ( 0.5%)             1            40
ast-stats - AngleBracketed            40 ( 0.5%)             1
ast-stats Crate                     40 ( 0.5%)             1            40
ast-stats ----------------------------------------------------------------
ast-stats Total                  7_528                   129
ast-stats ================================================================
hir-stats ================================================================
hir-stats HIR STATS: input_stats
hir-stats Name                Accumulated Size         Count     Item Size
hir-stats ----------------------------------------------------------------
hir-stats PathSegment            1_776 (20.6%)            37            48
hir-stats Path                   1_040 (12.1%)            26            40
hir-stats Item                     968 (11.2%)            11            88
hir-stats - Enum                      88 ( 1.0%)             1
hir-stats - ExternCrate               88 ( 1.0%)             1
hir-stats - ForeignMod                88 ( 1.0%)             1
hir-stats - Impl                      88 ( 1.0%)             1
hir-stats - Trait                     88 ( 1.0%)             1
hir-stats - Fn                       176 ( 2.0%)             2
hir-stats - Use                      352 ( 4.1%)             4
hir-stats Expr                     768 ( 8.9%)            12            64
hir-stats - InlineAsm                 64 ( 0.7%)             1
hir-stats - Match                     64 ( 0.7%)             1
hir-stats - Path                      64 ( 0.7%)             1
hir-stats - Struct                    64 ( 0.7%)             1
hir-stats - Lit                      128 ( 1.5%)             2
hir-stats - Block                    384 ( 4.5%)             6
hir-stats Ty                       720 ( 8.3%)            15            48
hir-stats - Ptr                       48 ( 0.6%)             1
hir-stats - Ref                       48 ( 0.6%)             1
hir-stats - Path                     624 ( 7.2%)            13
hir-stats Generics                 560 ( 6.5%)            10            56
hir-stats Pat                      400 ( 4.6%)             5            80
hir-stats - Struct                    80 ( 0.9%)             1
hir-stats - Wild                      80 ( 0.9%)             1
hir-stats - Binding                  240 ( 2.8%)             3
hir-stats GenericParam             400 ( 4.6%)             5            80
hir-stats Block                    288 ( 3.3%)             6            48
hir-stats GenericBound             256 ( 3.0%)             4            64
hir-stats - Trait                    256 ( 3.0%)             4
hir-stats Attribute                200 ( 2.3%)             5            40
hir-stats Variant                  144 ( 1.7%)             2            72
hir-stats GenericArgs              144 ( 1.7%)             3            48
hir-stats FieldDef                 128 ( 1.5%)             2            64
hir-stats FnDecl                   120 ( 1.4%)             3            40
hir-stats Stmt                      96 ( 1.1%)             3            32
hir-stats - Expr                      32 ( 0.4%)             1
hir-stats - Let                       32 ( 0.4%)             1
hir-stats - Semi                      32 ( 0.4%)             1
hir-stats Arm                       80 ( 0.9%)             2            40
hir-stats WherePredicate            72 ( 0.8%)             3            24
hir-stats - BoundPredicate            72 ( 0.8%)             3
hir-stats Local                     72 ( 0.8%)             1            72
hir-stats InlineAsm                 72 ( 0.8%)             1            72
hir-stats Body                      72 ( 0.8%)             3            24
hir-stats Param                     64 ( 0.7%)             2            32
hir-stats GenericArg                64 ( 0.7%)             4            16
hir-stats - Type                      16 ( 0.2%)             1
hir-stats - Lifetime                  48 ( 0.6%)             3
hir-stats ExprField                 40 ( 0.5%)             1            40
hir-stats Mod                       32 ( 0.4%)             1            32
hir-stats Lifetime                  28 ( 0.3%)             1            28
hir-stats TraitItemId                8 ( 0.1%)             2             4
hir-stats ImplItemId                 8 ( 0.1%)             2             4
hir-stats ForeignItemId              4 ( 0.0%)             1             4
hir-stats ----------------------------------------------------------------
hir-stats Total                  8_624                   173
hir-stats ================================================================
------------------------------------------



failures:

@bors
Copy link
Collaborator

bors commented Aug 24, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 24, 2025
@jhpratt jhpratt closed this Aug 24, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 24, 2025
@jhpratt jhpratt deleted the rollup-32kaj7j branch August 24, 2025 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. F-autodiff `#![feature(autodiff)]` O-hermit Operating System: Hermit O-SGX Target: SGX O-solid Operating System: SOLID O-unix Operating system: Unix-like O-wasi Operating system: Wasi, Webassembly System Interface O-windows Operating system: Windows rollup A PR which is a rollup T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants