Commit graph

317370 commits

Author SHA1 Message Date
bjorn3
639cb694df Replace Registry type with a lazily initialized static
And move try_find_description to rustc_errors::codes.
2026-02-05 10:54:46 +00:00
bjorn3
1851937577 Hard code the error code registry for custom drivers 2026-02-04 21:21:15 +00:00
bors
8bccf1224d Auto merge of #152104 - JonathanBrouwer:rollup-N93TdHm, r=JonathanBrouwer
Rollup of 12 pull requests

Successful merges:

 - rust-lang/rust#150992 (link modifier `export-symbols`: export all global symbols from selected uptream c static libraries)
 - rust-lang/rust#151534 (target: fix destabilising target-spec-json)
 - rust-lang/rust#152088 (rustbook/README.md: add missing `)`)
 - rust-lang/rust#151526 (Fix autodiff codegen tests)
 - rust-lang/rust#151810 (citool: report debuginfo test statistics)
 - rust-lang/rust#151952 (Revert doc attribute parsing errors to future warnings)
 - rust-lang/rust#152065 (Convert to inline diagnostics in `rustc_ty_utils`)
 - rust-lang/rust#152066 (Convert to inline diagnostics in `rustc_session`)
 - rust-lang/rust#152069 (Convert to inline diagnostics in `rustc_privacy`)
 - rust-lang/rust#152072 (Convert to inline diagnostics in `rustc_monomorphize`)
 - rust-lang/rust#152083 (Fix set_times_nofollow for directory on windows)
 - rust-lang/rust#152102 (Convert to inline diagnostics in all codegen backends)

Failed merges:

 - rust-lang/rust#152068 (Convert to inline diagnostics in `rustc_resolve`)
 - rust-lang/rust#152070 (Convert to inline diagnostics in `rustc_pattern_analysis`)
2026-02-04 13:54:17 +00:00
Jonathan Brouwer
cf0e19b0b4
Rollup merge of #152102 - bjorn3:inline_fluent_codegen_backends, r=JonathanBrouwer,GuillaumeGomez
Convert to inline diagnostics in all codegen backends

Part of https://github.com/rust-lang/rust/issues/151366

r? @JonathanBrouwer
2026-02-04 14:39:29 +01:00
Jonathan Brouwer
3184d55536
Rollup merge of #152083 - chenyukang:yukang-fix-set-times-nofollow-on-windows, r=ChrisDenton
Fix set_times_nofollow for directory on windows

Fix issue from:
https://github.com/rust-lang/rust/issues/147455#issuecomment-3841311858

old code `opts.write(true)` on Windows requests `GENERIC_WRITE` access, replace with `opts.access_mode(c::FILE_WRITE_ATTRIBUTES)` to get minimal permission.

r? @joshtriplett
2026-02-04 14:39:28 +01:00
Jonathan Brouwer
bf838717a4
Rollup merge of #152072 - JonathanBrouwer:convert_monomorphize, r=jdonszelmann
Convert to inline diagnostics in `rustc_monomorphize`

For https://github.com/rust-lang/rust/issues/151366

r? @jdonszelmann
2026-02-04 14:39:27 +01:00
Jonathan Brouwer
ecafacdeb7
Rollup merge of #152069 - JonathanBrouwer:convert_privacy, r=lqd
Convert to inline diagnostics in `rustc_privacy`

For https://github.com/rust-lang/rust/issues/151366

r? @jdonszelmann
2026-02-04 14:39:25 +01:00
Jonathan Brouwer
1c142db7d9
Rollup merge of #152066 - JonathanBrouwer:session_convert, r=jdonszelmann
Convert to inline diagnostics in `rustc_session`

For https://github.com/rust-lang/rust/issues/151366

r? @jdonszelmann
2026-02-04 14:39:24 +01:00
Jonathan Brouwer
8e361cfa69
Rollup merge of #152065 - JonathanBrouwer:convert_ty_utils, r=lqd
Convert to inline diagnostics in `rustc_ty_utils`

For https://github.com/rust-lang/rust/issues/151366

r? @jdonszelmann
2026-02-04 14:39:23 +01:00
Jonathan Brouwer
76a49eeb6c
Rollup merge of #151952 - GuillaumeGomez:revert-error-to-future-warning, r=JonathanBrouwer
Revert doc attribute parsing errors to future warnings

Part of https://github.com/rust-lang/rust/issues/151865 (hopefully fixes it).

r? @JonathanBrouwer
2026-02-04 14:39:22 +01:00
Jonathan Brouwer
b86fbcd358
Rollup merge of #151810 - Unique-Usman:ua/debuginfostat, r=Kobzol
citool: report debuginfo test statistics

Extend CI postprocessing to aggregate pass/fail/ignored counts for debuginfo tests. Tests are identified via their reported suite names (e.g. debuginfo-gdb, debuginfo-lldb or debuginfo-cdb).
2026-02-04 14:39:20 +01:00
Jonathan Brouwer
9fd5712bf5
Rollup merge of #151526 - ZuseZ4:fix-autodiff-codegen-tests, r=oli-obk
Fix autodiff codegen tests

Preparing autodiff for release on nightly. Since we haven't been running these tests in CI, they regressed over the last months. These changes fixes this and hopefully make the tests more robust for the future.

r? compiler
2026-02-04 14:39:19 +01:00
Jonathan Brouwer
0e74ca8ace
Rollup merge of #152088 - DanielEScherzer:patch-1, r=chenyukang
rustbook/README.md: add missing `)`

To match the opening `(` before the reference to PR 127786
2026-02-04 14:39:18 +01:00
Jonathan Brouwer
841c462eb0
Rollup merge of #151534 - davidtwco:destabilise-target-spec-json-again, r=chenyukang
target: fix destabilising target-spec-json

cc rust-lang/rust#151528

rust-lang/rust#150151 missed a case and didn't entirely destabilise target-spec-json - this patch corrects that.

Closes https://github.com/rust-lang/rust/issues/71009
2026-02-04 14:39:17 +01:00
Jonathan Brouwer
a1d588b35e
Rollup merge of #150992 - cezarbbb:cstyle-export-rules2, r=bjorn3,petrochenkov
link modifier `export-symbols`: export all global symbols from selected uptream c static libraries

In order to be able to export symbols from a specified upstream C static library, I redesigned a solution that, compared to a previous PR rust-lang/rust#150335 I submitted, will not have any extra symbols leaking out.

The following points should be noted:
 - This attribute will select and import the `Global` symbols of the first matching library it finds.
 - Developers should ensure that there are no libraries with the same name.
 - This modifier is only compatible with `static` linking kind
 - By default, upstream C static libraries will not export their `Global` symbols regardless of whether `LTO` optimization is enabled. However, after enabling this attribute, if the upstream C static library has `LTO` optimization enabled, the compiler will issue an error to inform the developer that the linked C library is invalid.

The test code is the same as the PR rust-lang/rust#150335.
Here are the results:
1. `cargo +include-libs rustc --release -- -L. -lstatic:+export-symbols=c_add`
(or you can use `#[link(name = "c_add", kind= "static", modifier = "+export-symbols")]` in the file)
```bash
                 U abort@GLIBC_2.2.5
                 U bcmp@GLIBC_2.2.5
0000000000014f60 T c_add
                 U calloc@GLIBC_2.2.5
                 U close@GLIBC_2.2.5
0000000000014f70 T c_sub
                 w __cxa_finalize@GLIBC_2.2.5
                 w __cxa_thread_atexit_impl@GLIBC_2.18
                 U dl_iterate_phdr@GLIBC_2.2.5
0000000000014ee0 T downstream_add
                 U __errno_location@GLIBC_2.2.5
                 U free@GLIBC_2.2.5
                 U fstat64@GLIBC_2.33
                 U getcwd@GLIBC_2.2.5
                 U getenv@GLIBC_2.2.5
                 w __gmon_start__
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 U lseek64@GLIBC_2.2.5
                 U malloc@GLIBC_2.2.5
                 U memcpy@GLIBC_2.14
                 U memmove@GLIBC_2.2.5
                 U memset@GLIBC_2.2.5
                 U mmap64@GLIBC_2.2.5
                 U munmap@GLIBC_2.2.5
                 U open64@GLIBC_2.2.5
                 U posix_memalign@GLIBC_2.2.5
                 U pthread_key_create@GLIBC_2.34
                 U pthread_key_delete@GLIBC_2.34
                 U pthread_setspecific@GLIBC_2.34
                 U read@GLIBC_2.2.5
                 U readlink@GLIBC_2.2.5
                 U realloc@GLIBC_2.2.5
                 U realpath@GLIBC_2.3
                 U stat64@GLIBC_2.33
                 w statx@GLIBC_2.28
                 U strlen@GLIBC_2.2.5
                 U syscall@GLIBC_2.2.5
                 U __tls_get_addr@GLIBC_2.3
                 U _Unwind_Backtrace@GCC_3.3
                 U _Unwind_DeleteException@GCC_3.0
                 U _Unwind_GetDataRelBase@GCC_3.0
                 U _Unwind_GetIP@GCC_3.0
                 U _Unwind_GetIPInfo@GCC_4.2.0
                 U _Unwind_GetLanguageSpecificData@GCC_3.0
                 U _Unwind_GetRegionStart@GCC_3.0
                 U _Unwind_GetTextRelBase@GCC_3.0
                 U _Unwind_RaiseException@GCC_3.0
                 U _Unwind_Resume@GCC_3.0
                 U _Unwind_SetGR@GCC_3.0
                 U _Unwind_SetIP@GCC_3.0
                 U write@GLIBC_2.2.5
                 U writev@GLIBC_2.2.5
```
3. `cargo +nightly rustc --release -- -L ./`
```bash
                 U abort@GLIBC_2.2.5
                 U bcmp@GLIBC_2.2.5
                 U calloc@GLIBC_2.2.5
                 U close@GLIBC_2.2.5
                 w __cxa_finalize@GLIBC_2.2.5
                 w __cxa_thread_atexit_impl@GLIBC_2.18
                 U dl_iterate_phdr@GLIBC_2.2.5
0000000000011e10 T downstream_add
                 U __errno_location@GLIBC_2.2.5
                 U free@GLIBC_2.2.5
                 U fstat64@GLIBC_2.33
                 U getcwd@GLIBC_2.2.5
                 U getenv@GLIBC_2.2.5
                 w gettid@GLIBC_2.30
                 w __gmon_start__
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 U lseek64@GLIBC_2.2.5
                 U malloc@GLIBC_2.2.5
                 U memcpy@GLIBC_2.14
                 U memmove@GLIBC_2.2.5
                 U memset@GLIBC_2.2.5
                 U mmap64@GLIBC_2.2.5
                 U munmap@GLIBC_2.2.5
                 U open64@GLIBC_2.2.5
                 U posix_memalign@GLIBC_2.2.5
                 U pthread_key_create@GLIBC_2.34
                 U pthread_key_delete@GLIBC_2.34
                 U pthread_setspecific@GLIBC_2.34
                 U read@GLIBC_2.2.5
                 U readlink@GLIBC_2.2.5
                 U realloc@GLIBC_2.2.5
                 U realpath@GLIBC_2.3
                 U stat64@GLIBC_2.33
                 w statx@GLIBC_2.28
                 U strlen@GLIBC_2.2.5
                 U syscall@GLIBC_2.2.5
                 U __tls_get_addr@GLIBC_2.3
                 U _Unwind_Backtrace@GCC_3.3
                 U _Unwind_GetDataRelBase@GCC_3.0
                 U _Unwind_GetIP@GCC_3.0
                 U _Unwind_GetIPInfo@GCC_4.2.0
                 U _Unwind_GetLanguageSpecificData@GCC_3.0
                 U _Unwind_GetRegionStart@GCC_3.0
                 U _Unwind_GetTextRelBase@GCC_3.0
                 U _Unwind_RaiseException@GCC_3.0
                 U _Unwind_Resume@GCC_3.0
                 U _Unwind_SetGR@GCC_3.0
                 U _Unwind_SetIP@GCC_3.0
                 U write@GLIBC_2.2.5
                 U writev@GLIBC_2.2.5
```

r? @bjorn3
2026-02-04 14:39:17 +01:00
bjorn3
d2a0557afb Convert to inline diagnostics in all codegen backends 2026-02-04 13:12:49 +00:00
Jonathan Brouwer
0f9b0d3841
Convert to inline diagnostics in rustc_session 2026-02-04 13:22:20 +01:00
Guillaume Gomez
c910511cab Move remaining doc attribute parsing errors to warnings 2026-02-04 10:54:45 +01:00
Guillaume Gomez
6d713489d0 Make more doc attribute parsing error into future warnings 2026-02-04 10:54:45 +01:00
Guillaume Gomez
7dbbab63e2 Emit a future error warning for duplicate doc attribute 2026-02-04 10:54:44 +01:00
bors
930ecbcdf8 Auto merge of #152089 - JonathanBrouwer:rollup-h74gaTC, r=JonathanBrouwer
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#151893 (Move the query list into a new `rustc_middle::queries` module)
 - rust-lang/rust#152060 (ci: Optimize loongarch64-linux dist builders)
 - rust-lang/rust#151993 (Add uv to the list of possible python runners)
 - rust-lang/rust#152047 (Convert to inline diagnostics in `rustc_interface`)
 - rust-lang/rust#152053 (Avoid semicolon suggestion when tail expr is error)

Failed merges:

 - rust-lang/rust#152023 (Some `rustc_query_system` cleanups)
2026-02-04 08:37:48 +00:00
Jonathan Brouwer
b8755a44fc
Rollup merge of #152053 - TaKO8Ki:err-tail-semicolon-suggest, r=nnethercote
Avoid semicolon suggestion when tail expr is error

Fixes rust-lang/rust#151610

When the tail expression is Err due to recovery, HIR constructs `StmtKind::Semi(Err(..))`. The suggestion path then uses `stmt.span.with_lo(tail_expr.span.hi())` to target the semicolon, but `stmt.span == tail_expr.span` so the derived span is empty/invalid.
2026-02-04 08:12:42 +01:00
Jonathan Brouwer
3bb8cd4d84
Rollup merge of #152047 - JonathanBrouwer:convert_interface, r=jdonszelmann
Convert to inline diagnostics in `rustc_interface`

For https://github.com/rust-lang/rust/issues/151366#event-22181360642
2026-02-04 08:12:42 +01:00
Jonathan Brouwer
a033b66bd4
Rollup merge of #151993 - crazazy:uv-support, r=jieyouxu
Add uv to the list of possible python runners

Fixes the unlikely case that one has uv, but not python, globally installed

(It's me, I'm the unlikely case)
2026-02-04 08:12:41 +01:00
Jonathan Brouwer
71ed31eece
Rollup merge of #152060 - heiher:opt-loong64-linux, r=Kobzol
ci: Optimize loongarch64-linux dist builders

Tune the build configuration for loongarch64-linux targets to speed up rustc.

Changes include:
- Enable jemalloc and rust thin-lto.
- Set codegen-units=1.

These changes reduce rustc-perf compile time by ~17%.
2026-02-04 08:12:41 +01:00
Jonathan Brouwer
89594620f2
Rollup merge of #151893 - Zoxc:query-mod-move, r=nnethercote
Move the query list into a new `rustc_middle::queries` module

This moves the query list from `rustc_middle::query` into a new `rustc_middle::queries` module. This splits up the use of the query system from the remaining implementation of it in `rustc_middle::query`, which conceptually belong to `rustc_query_system`.

The goal is to let rustc crates define queries with their own `queries` module, and this makes `rustc_middle` also fit this pattern.

The inner `queries` module used by the macros are renamed to `query_info`, so it doesn't conflict with the new outer name.
2026-02-04 08:12:40 +01:00
Jonathan Brouwer
ae21d43933
Convert to inline diagnostics in rustc_privacy 2026-02-04 08:11:40 +01:00
Jonathan Brouwer
e7c142cc89
Convert to inline diagnostics in rustc_interface 2026-02-04 08:10:10 +01:00
Daniel Scherzer
c77779e529
rustbook/README.md: add missing )
To match the opening `(` before the reference to PR 127786
2026-02-03 22:26:19 -08:00
bors
794495e2b4 Auto merge of #151546 - Zoxc:feedable-macro-fix, r=Zalathar
Pass on the `feedable` query modifier to macros

This passes on the `feedable` query modifier to macros so `QueryConfig.feedable` gives the correct result. Currently it's always false even for feedable queries.

Fixing this bug enables some consistency checks for feedable queries that were previously not being performed, which has a perf impact.
2026-02-04 04:36:37 +00:00
yukang
8e62b1d0e1 Fix set_times_nofollow for directory on windows 2026-02-04 03:58:26 +00:00
WANG Rui
ac160bba12 ci: Optimize loongarch64-linux dist builders
Tune the build configuration for loongarch64-linux targets to speed up rustc.

Changes include:
- Enable jemalloc and rust thin-lto.
- Set codegen-units=1 and disable debug assertions.

These changes reduce rustc-perf compile time by ~17%.
2026-02-04 10:29:50 +08:00
bors
1d05e3c131 Auto merge of #152075 - JonathanBrouwer:rollup-TaaDPXF, r=JonathanBrouwer
Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#148967 (const-eval: always do mem-to-mem copies if there might be padding involved)
 - rust-lang/rust#152012 (Use `DEVELOPER_DIR` instead of a custom `xcode-select` script)
 - rust-lang/rust#152044 (Convert to inline diagnostics in `rustc_incremental`)
 - rust-lang/rust#152046 (Use glob imports for attribute parsers)
 - rust-lang/rust#152054 (Distinguish error message for `#[diagnostic::on_const]` on const trait impls)
 - rust-lang/rust#152059 (Fix some autodiff tests require Clto=fat)
 - rust-lang/rust#152073 (Convert to inline diagnostics in `rustc_mir_dataflow`)
2026-02-04 01:28:47 +00:00
cezarbbb
dcdffe8d80 link modifier export-symbols: export all global symbols from selected uptream c static libraries 2026-02-04 09:26:21 +08:00
Usman Akinyemi
07e4a994d6 citool: report debuginfo test statistics
Extend CI postprocessing to aggregate pass/fail/ignored counts
for debuginfo tests. Tests are identified via their reported
suite names (e.g. debuginfo-gdb, debuginfo-lldb or debuginfo-cdb).

Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
2026-02-04 06:44:09 +05:30
Jonathan Brouwer
7960088392
Rollup merge of #152073 - JonathanBrouwer:convert_mir_dataflow, r=lqd
Convert to inline diagnostics in `rustc_mir_dataflow`

For https://github.com/rust-lang/rust/issues/151366

r? @jdonszelmann
2026-02-03 23:29:58 +01:00
Jonathan Brouwer
2ba557f8e6
Rollup merge of #152059 - sgasho:fix/some-autodiff-tests, r=ZuseZ4
Fix some autodiff tests require Clto=fat

It seems that some tests in tests/run-make/autodiff/type-trees/ require -Clto=fat at least on macos

There are several types of errors in tests/run-make/autodiff now. I fixed the easiest one to reduce the noise. I'll look into another errors after this PR.

I confirmed tests have passed.

```shell
./x test --stage 1 tests/run-make/autodiff/type-trees/array-typetree -- --ignored
./x test --stage 1 tests/run-make/autodiff/type-trees/mixed-struct-typetree -- --ignored
./x test --stage 1 tests/run-make/autodiff/type-trees/nott-flag -- --ignored
./x test --stage 1 tests/run-make/autodiff/type-trees/recursion-typetree -- --ignored
./x test --stage 1 tests/run-make/autodiff/type-trees/scalar-types -- --ignored
./x test --stage 1 tests/run-make/autodiff/type-trees/slice-typetree -- --ignored
./x test --stage 1 tests/run-make/autodiff/type-trees/struct-typetree -- --ignored
./x test --stage 1 tests/run-make/autodiff/type-trees/tuple-typetree -- --ignored
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.11s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.43s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.10s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.14s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.10s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
    Finished `dist` profile [optimized] target(s) in 0.21s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.34s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.35s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 1 tests
.

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 460 filtered out; finished in 2.32s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:00:12
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.12s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 1.05s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.29s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.29s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.09s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
    Finished `dist` profile [optimized] target(s) in 0.09s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.23s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.14s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 1 tests
.

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 460 filtered out; finished in 2.37s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:00:12
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.11s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.81s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.35s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.24s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.10s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
    Finished `dist` profile [optimized] target(s) in 0.19s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.25s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.15s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 1 tests
.

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 460 filtered out; finished in 1.34s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:00:13
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.28s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.38s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.28s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.23s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.49s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
    Finished `dist` profile [optimized] target(s) in 0.19s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.41s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.36s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 1 tests
.

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 460 filtered out; finished in 2.30s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:00:13
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.22s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
   Compiling rustc_session v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_session)
   Compiling rustc_query_system v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_query_system)
   Compiling rustc_parse v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_parse)
   Compiling rustc_middle v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_middle)
   Compiling rustc_attr_parsing v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_attr_parsing)
   Compiling rustc_ast_passes v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_ast_passes)
   Compiling rustc_transmute v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_transmute)
   Compiling rustc_infer v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_infer)
   Compiling rustc_expand v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_expand)
   Compiling rustc_incremental v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_incremental)
   Compiling rustc_mir_dataflow v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_mir_dataflow)
   Compiling rustc_symbol_mangling v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_symbol_mangling)
   Compiling rustc_ast_lowering v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_ast_lowering)
   Compiling rustc_pattern_analysis v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_pattern_analysis)
   Compiling rustc_public_bridge v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_public_bridge)
   Compiling rustc_query_impl v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_query_impl)
   Compiling rustc_monomorphize v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_monomorphize)
   Compiling rustc_public v0.1.0-preview (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_public)
   Compiling rustc_metadata v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_metadata)
   Compiling rustc_trait_selection v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_trait_selection)
   Compiling rustc_builtin_macros v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_builtin_macros)
   Compiling rustc_resolve v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_resolve)
   Compiling rustc_lint v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_lint)
   Compiling rustc_ty_utils v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_ty_utils)
   Compiling rustc_privacy v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_privacy)
   Compiling rustc_codegen_ssa v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_codegen_ssa)
   Compiling rustc_const_eval v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_const_eval)
   Compiling rustc_sanitizers v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_sanitizers)
   Compiling rustc_hir_analysis v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_hir_analysis)
   Compiling rustc_traits v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_traits)
   Compiling rustc_borrowck v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_borrowck)
   Compiling rustc_mir_transform v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_mir_transform)
   Compiling rustc_hir_typeck v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_hir_typeck)
   Compiling rustc_codegen_llvm v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_codegen_llvm)
   Compiling rustc_mir_build v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_mir_build)
   Compiling rustc_passes v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_passes)
   Compiling rustc_interface v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_interface)
   Compiling rustc_driver_impl v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_driver_impl)
   Compiling rustc_driver v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc_driver)
   Compiling rustc-main v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/compiler/rustc)
    Finished `release` profile [optimized] target(s) in 2m 51s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.37s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.17s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.42s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
   Compiling shlex v1.3.0
   Compiling core v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/core)
   Compiling libc v0.2.178
   Compiling object v0.37.3
   Compiling std v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/std)
   Compiling test v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/test)
   Compiling cc v1.2.0
   Compiling compiler_builtins v0.1.160 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/compiler-builtins/compiler-builtins)
   Compiling rustc-std-workspace-core v1.99.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/alloc)
   Compiling adler2 v2.0.1
   Compiling memchr v2.7.6
   Compiling panic_abort v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/panic_abort)
   Compiling rustc-demangle v0.1.27
   Compiling cfg-if v1.0.4
   Compiling rustc-literal-escaper v0.0.7
   Compiling unwind v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/unwind)
   Compiling rustc-std-workspace-alloc v1.99.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/rustc-std-workspace-alloc)
   Compiling panic_unwind v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/panic_unwind)
   Compiling gimli v0.32.3
   Compiling hashbrown v0.16.1
   Compiling std_detect v0.1.5 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/std_detect)
   Compiling miniz_oxide v0.8.9
   Compiling addr2line v0.25.1
   Compiling rustc-std-workspace-std v1.99.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/rustc-std-workspace-std)
   Compiling proc_macro v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/proc_macro)
   Compiling getopts v0.2.24
   Compiling sysroot v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/library/sysroot)
    Finished `dist` profile [optimized] target(s) in 34.54s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.40s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
   Compiling rustdoc v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/src/librustdoc)
   Compiling rustdoc-tool v0.0.0 (/Volumes/WD_BLACK_SN850X_HS_1TB/autodiff-rust/rust/src/tools/rustdoc)
    Finished `release` profile [optimized] target(s) in 37.79s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 5 tests
.....

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 456 filtered out; finished in 2.41s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:04:18
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.12s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.71s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.11s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.07s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.09s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
    Finished `dist` profile [optimized] target(s) in 0.15s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.34s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.28s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 1 tests
.

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 460 filtered out; finished in 2.04s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:00:13
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.11s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.82s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.38s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.08s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.09s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
    Finished `dist` profile [optimized] target(s) in 0.09s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.21s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.14s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 1 tests
.

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 460 filtered out; finished in 1.37s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:00:12
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.15s
WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
Building stage1 compiler artifacts (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.37s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 wasm-component-ld (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.35s
Building stage1 llvm-bitcode-linker (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.35s
Building stage1 run_make_support (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.29s
Building stage1 library artifacts (stage1 -> stage1, aarch64-apple-darwin)
    Finished `dist` profile [optimized] target(s) in 0.12s
Building stage1 compiletest (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.46s
Building stage1 rustdoc_tool_binary (stage0 -> stage1, aarch64-apple-darwin)
    Finished `release` profile [optimized] target(s) in 0.23s
Testing stage1 with compiletest suite=run-make mode=run-make (aarch64-apple-darwin)

running 1 tests
.

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 460 filtered out; finished in 1.41s

WARNING: The `change-id` is missing in the `bootstrap.toml`. This means that you will not be able to track the major changes made to the bootstrap configurations.
NOTE: to silence this warning, add `change-id = 148671` or `change-id = "ignore"` at the top of `bootstrap.toml`
NOTE: this message was printed twice to make it more likely to be seen
Build completed successfully in 0:00:12
```
2026-02-03 23:29:58 +01:00
Jonathan Brouwer
9ff335cb8f
Rollup merge of #152054 - lapla-cogito:diag_const_trait_impl, r=estebank
Distinguish error message for `#[diagnostic::on_const]` on const trait impls

context: https://github.com/rust-lang/rust/pull/149627#discussion_r2589712535

Sorry for the delay between receiving the review and submitting this patch. I'll ask the original proposer to review it.

r? estebank
2026-02-03 23:29:57 +01:00
Jonathan Brouwer
1e15bda9db
Rollup merge of #152046 - clubby789:glob-attrs, r=JonathanBrouwer
Use glob imports for attribute parsers

r? JonathanBrouwer
2026-02-03 23:29:57 +01:00
Jonathan Brouwer
df2daa3628
Rollup merge of #152044 - JonathanBrouwer:rustc_incremental_convert, r=lqd
Convert to inline diagnostics in `rustc_incremental`

For https://github.com/rust-lang/rust/issues/151366
2026-02-03 23:29:56 +01:00
Jonathan Brouwer
9935c3c2b9
Rollup merge of #152012 - madsmtm:unselect-xcode, r=shepmaster
Use `DEVELOPER_DIR` instead of a custom `xcode-select` script

`DEVELOPER_DIR` is the standard environment variable for overriding the Xcode version, there is no need to invoke `xcode-select --switch` manually to do this.

The variable is documented in both `man xcode-select` and `man xcrun`.

Using this makes reproducing things locally a little easier (you can just copy the env var).

r? shepmaster
2026-02-03 23:29:56 +01:00
Jonathan Brouwer
bfc624986f
Rollup merge of #148967 - RalfJung:const-eval-preserve-src-padding, r=JonathanBrouwer,traviscross
const-eval: always do mem-to-mem copies if there might be padding involved

This is the final piece of the puzzle for https://github.com/rust-lang/rust/issues/148470: when copying data of a type that has padding, always do a mem-to-mem copy, so that we always preserve the source padding exactly. That prevents rustc implementation choices from leaking into user-visible behavior.

This is technically a breaking change: the example at the top of https://github.com/rust-lang/rust/issues/148470 no longer compiles with this. However, it seems very unlikely that anyone would have depended on this. My main concern is not backwards compatibility, it is performance.

Fixes rust-lang/rust#148470

---

> Actually that seems to be entirely fine, it even helps with some benchmarks! I guess the mem-to-mem codepath is actually faster than the scalar pair codepath for the copy itself. It can slow things down later since now we have to do everything bytewise, but that doesn't show up in our benchmarks and might not be very relevant after all (in particular, it only affects types with padding, so the rather common wide pointers still always use the efficient scalar representation).
>
> So that would be my proposal to for resolving this issue then: to make const-eval behavior consistent, we always copy the padding from the source to the target. IOW, potentially pre-existing provenance in the target always gets overwritten (that part is already in https://github.com/rust-lang/rust/pull/148259), and potentially existing provenance in padding in the source always gets carried over (that's https://github.com/rust-lang/rust/pull/148967). If there's provenance elsewhere in the source our existing handling is fine:
> - If it's in an integer, that's UB during const-eval so we can do whatever.
> - If it's in a pointer, the the fragments must combine back together to a pointer or else we have UB.
> - If it's in a union we just carry it over unchanged.
>
> @traviscross we should check that this special const-eval-only UB is properly reflected in the reference. Currently we have [this](https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html#r-undefined.const-transmute-ptr2int) but that only talks about int2ptr, not about invalid pointer fragments at pointer type. I also wonder if this shouldn't rather be part of ["invalid values"](https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html#r-undefined.validity) to make it clear that this applies recursively inside fields as well.
> EDIT: Reference PR is up at https://github.com/rust-lang/reference/pull/2091.

 _Originally posted by @RalfJung in [#148470](https://github.com/rust-lang/rust/issues/148470#issuecomment-3538447283)_

> Worth noting that this does not resolve the concerns @theemathas had about `-Zextra-const-ub-checks` sometimes causing *more* code to compile. Specifically, with that flag, the behavior changes to "potentially existing provenance in padding in the source never gets carried over". However, it's a nightly-only flag (used by Miri) so while the behavior is odd, I don't think this is a problem.

 _Originally posted by @RalfJung in [#148470](https://github.com/rust-lang/rust/issues/148470#issuecomment-3538450164)_

---

Related:

- https://github.com/rust-lang/rust/issues/148470
- https://github.com/rust-lang/reference/pull/2091
2026-02-03 23:29:55 +01:00
Jamie Hill-Daniel
828bead9e3 Use glob imports for attribute parsers 2026-02-03 22:27:56 +00:00
Jonathan Brouwer
4fdd085e28
Convert to inline diagnostics in rustc_mir_dataflow 2026-02-03 23:25:59 +01:00
Jonathan Brouwer
4cacfc00bc
Convert to inline diagnostics in rustc_incremental 2026-02-03 23:22:48 +01:00
bors
0c40f5be0c Auto merge of #151929 - camsteffen:lengg, r=BoxyUwU
Use with_capacity in query_key_hash_verify and PlaceholderExpander

Addresses the first two items from https://github.com/rust-lang/rust/issues/137005#issuecomment-2687803558.
2026-02-03 22:20:57 +00:00
Jonathan Brouwer
d457ffd4f4
Convert to inline diagnostics in rustc_monomorphize 2026-02-03 22:44:22 +01:00
John Kåre Alsaker
9de16dd3eb Remove imports in queries only used by define_callbacks! 2026-02-03 21:33:16 +01:00
John Kåre Alsaker
247a022957 Fix references and remove inner queries module 2026-02-03 21:32:52 +01:00
Jonathan Brouwer
590fa1e6cb
Convert to inline diagnostics in rustc_ty_utils 2026-02-03 21:32:03 +01:00