Skip to content

Rollup of 9 pull requests - #155885

Closed
JonathanBrouwer wants to merge 30 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-BNIchAQ
Closed

Rollup of 9 pull requests#155885
JonathanBrouwer wants to merge 30 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-BNIchAQ

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

heiher and others added 30 commits March 27, 2026 17:15
This PR stabilizes the following target features:

- div32
- lam-bh
- lamcas
- ld-seq-sa
- scq
Linux v7.1 will have our new MSRVs: Rust 1.85.0 and `bindgen` 0.71.1.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Create a new `SharedContext::emit_dyn_lint_with_sess` method to simplify code when `Session` is not needed
Remove crate name from `UnexpectedCfgCargoMacroHelp`
…d, r=JonathanBrouwer,petrochenkov

Remove `AttributeLintKind`

Part of rust-lang#153099.

The `AttributeLintKind` type is finally gone! \o/

Diff is this big because I moved a file and a lot of `Diagnostic` types. :')

r? @JonathanBrouwer
…features, r=Amanieu

Partially stabilize LoongArch target features

This PR stabilizes the following target features:

- div32
- lam-bh
- lamcas
- ld-seq-sa
- scq

Docs PR: rust-lang/reference#2217

r? @Amanieu
…trochenkov

Allow trailing `self` in more contexts

Reference PR:

- rust-lang/reference#2237

As a follow-up PR to rust-lang#152996, after this PR:
1. Trailing `self` can appear in paths
2. [E0429](https://doc.rust-lang.org/stable/error_codes/E0429.html#error-code-e0429) will be no longer emitted, `use ...::self [as target];` will be equivalent to `use ...::{self [as target]};`

r? petrochenkov
…RalfJung,ShoyuVanilla

Rip out rustc_layout_scalar_valid_range_* attribute support

And either removes tests for it or replaces the uses with pattern types.

primarily fixes rust-lang#135996

fixes rust-lang#147761
fixes rust-lang#133652
…rochenkov

Change `ItemKind::Trait` to a field variant.

This changes `ItemKind::Trait` from an octuple(!!) to an enum variant with fields. Their names were chosen to match up with existing usage and minimize renaming.

I'm leaning towards renaming `ident` to `name` as well; let me know if that's desired.
…t-ice, r=TaKO8Ki

Fix ICE: Scalar layout for non-primitive non-enum type unsafe binder

`UnsafeBinder` uses the inner layout, but the debug layout check still looked at the outer type. Check the inner type first so this does not ICE.

Tracking issue: rust-lang#130516
Closes: rust-lang#154426
…t-const-params, r=BoxyUwU

Disallow non_exhaustive structs and enums with non_exhaustive variants from implementing `ConstParamTy`

tracking issue rust-lang#154042

r? BoxyUwU
…n-note-inner-block, r=wesleywiser

Avoid misleading closure return type note

A follow up fix for rust-lang#155670, fix a missed case rust-lang#155770 (comment)

r? @wesleywiser

cc @A4-Tacks
CI: rfl: move job forward to Linux v7.1-rc1

Linux v7.1 will have our new MSRVs: Rust 1.85.0 and `bindgen` 0.71.1.

r? @lqd @Kobzol
try-job: x86_64-rust-for-linux
@rustbot label A-rust-for-linux
@bors try
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Apr 27, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc 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-infra Relevant to the infrastructure 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Apr 27, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 22c3c2a has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Apr 27, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Apr 27, 2026
…uwer

Rollup of 9 pull requests

Successful merges:

 - #155760 (Remove `AttributeLintKind`)
 - #154510 (Partially stabilize LoongArch target features)
 - #155137 (Allow trailing `self` in more contexts)
 - #155433 (Rip out rustc_layout_scalar_valid_range_* attribute support)
 - #155702 (Change `ItemKind::Trait` to a field variant.)
 - #154896 (Fix ICE: Scalar layout for non-primitive non-enum type unsafe binder)
 - #155675 (Disallow non_exhaustive structs and enums with non_exhaustive variants from implementing `ConstParamTy`)
 - #155874 (Avoid misleading closure return type note)
 - #155876 (CI: rfl: move job forward to Linux v7.1-rc1)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)

---- [debuginfo-cdb] tests\debuginfo\msvc-pretty-enums.rs stdout ----
------rustc.exe stdout------------------------------

------rustc.exe stderr------------------------------
error: cannot find macro `pattern_type` in this scope
##[error]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:275:5
    |
275 |     pattern_type!(u128 is 340282366920938463463374607431768211454..=u128::MAX | 0..=1),
    |     ^^^^^^^^^^^^
    |
help: consider importing this macro
    |
237 + use std::pat::pattern_type;
---

warning: unused variable: `a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:313:9
    |
313 |     let a = Some(CStyleEnum::Low);
    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:314:9
    |
314 |     let b = Option::<CStyleEnum>::None;
    |         ^ help: if this is intentional, prefix it with an underscore: `_b`

warning: unused variable: `c`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:315:9
    |
315 |     let c = NicheLayoutEnum::Tag1;
    |         ^ help: if this is intentional, prefix it with an underscore: `_c`

warning: unused variable: `d`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:316:9
    |
316 |     let d = NicheLayoutEnum::Data { my_data: CStyleEnum::High };
    |         ^ help: if this is intentional, prefix it with an underscore: `_d`

warning: unused variable: `e`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:317:9
    |
317 |     let e = NicheLayoutEnum::Tag2;
    |         ^ help: if this is intentional, prefix it with an underscore: `_e`

warning: unused variable: `f`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:318:9
    |
318 |     let f = Some(&1u32);
    |         ^ help: if this is intentional, prefix it with an underscore: `_f`

warning: unused variable: `g`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:319:9
    |
319 |     let g = Option::<&'static u32>::None;
    |         ^ help: if this is intentional, prefix it with an underscore: `_g`

warning: unused variable: `h`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:320:9
    |
320 |     let h = Some(12u32);
---

warning: unused variable: `j`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:322:9
    |
322 |     let j = CStyleEnum::High;
    |         ^ help: if this is intentional, prefix it with an underscore: `_j`

warning: unused variable: `k`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:323:9
    |
323 |     let k = Some("IAMA optional string!".to_string());
    |         ^ help: if this is intentional, prefix it with an underscore: `_k`

warning: unused variable: `l`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:324:9
    |
324 |     let l = Result::<u32, Empty>::Ok(42);
    |         ^ help: if this is intentional, prefix it with an underscore: `_l`

warning: unused variable: `niche128_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:325:9
    |
325 |     let niche128_some = NonZero::new(123456i128);
    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche128_some`

warning: unused variable: `niche128_none`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:326:9
    |
326 |     let niche128_none: Option<NonZero<i128>> = None;
    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche128_none`

warning: unused variable: `wrapping_niche128_untagged`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:328:9
    |
328 |     let wrapping_niche128_untagged = unsafe {
---

warning: unused variable: `direct_tag_128_a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:336:9
    |
336 |     let direct_tag_128_a = DirectTag128::A(42);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direct_tag_128_a`

warning: unused variable: `direct_tag_128_b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:337:9
    |
337 |     let direct_tag_128_b = DirectTag128::B(137);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direct_tag_128_b`

warning: unused variable: `niche_w_fields_1_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:339:9
    |
339 |     let niche_w_fields_1_some = NicheLayoutWithFields1::A(&77, 7);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_1_some`

warning: unused variable: `niche_w_fields_1_none`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:340:9
    |
340 |     let niche_w_fields_1_none = NicheLayoutWithFields1::B(99);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_1_none`

warning: unused variable: `niche_w_fields_2_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:342:9
    |
342 |     let niche_w_fields_2_some = NicheLayoutWithFields2::A(NonZero::new(800).unwrap(), 900);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_2_some`

warning: unused variable: `niche_w_fields_2_none`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:343:9
    |
343 |     let niche_w_fields_2_none = NicheLayoutWithFields2::B(1000);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_2_none`

warning: unused variable: `niche_w_fields_3_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:345:9
    |
345 |     let niche_w_fields_3_some = NicheLayoutWithFields3::A(137, true);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_some`

warning: unused variable: `niche_w_fields_3_niche1`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:346:9
    |
346 |     let niche_w_fields_3_niche1 = NicheLayoutWithFields3::B(12);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche1`

warning: unused variable: `niche_w_fields_3_niche2`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:347:9
    |
347 |     let niche_w_fields_3_niche2 = NicheLayoutWithFields3::C(false);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche2`

warning: unused variable: `niche_w_fields_3_niche3`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:348:9
    |
348 |     let niche_w_fields_3_niche3 = NicheLayoutWithFields3::D(34);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche3`

warning: unused variable: `niche_w_fields_3_niche4`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:349:9
    |
349 |     let niche_w_fields_3_niche4 = NicheLayoutWithFields3::E(56);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche4`

warning: unused variable: `niche_w_fields_3_niche5`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:350:9
    |
350 |     let niche_w_fields_3_niche5 = NicheLayoutWithFields3::F;
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche5`

warning: unused variable: `niche_w_fields_std_result_ok`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:352:9
    |
352 |     let niche_w_fields_std_result_ok: Result<Box<[u8]>, u64> = Ok(vec![1, 2, 3].into());
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_std_result_ok`

warning: unused variable: `niche_w_fields_std_result_err`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:353:9
    |
353 |     let niche_w_fields_std_result_err: Result<Box<[u8]>, u64> = Err(789);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_std_result_err`

warning: unused variable: `arbitrary_discr1`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:355:9
    |
355 |     let arbitrary_discr1 = ArbitraryDiscr::Abc(1234);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arbitrary_discr1`

warning: unused variable: `arbitrary_discr2`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:356:9
    |
356 |     let arbitrary_discr2 = ArbitraryDiscr::Def(5678);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arbitrary_discr2`

warning: unused variable: `c_style_u128_a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:358:9
    |
358 |     let c_style_u128_a = CStyleU128::A;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_a`

warning: unused variable: `c_style_u128_b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:359:9
    |
359 |     let c_style_u128_b = CStyleU128::B;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_b`

warning: unused variable: `c_style_u128_c`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:360:9
    |
360 |     let c_style_u128_c = CStyleU128::C;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_c`

warning: unused variable: `c_style_u128_d`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:361:9
    |
361 |     let c_style_u128_d = CStyleU128::D;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_d`

warning: unused variable: `c_style_i128_a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:363:9
    |
363 |     let c_style_i128_a = CStyleI128::A;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_a`

warning: unused variable: `c_style_i128_b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:364:9
    |
364 |     let c_style_i128_b = CStyleI128::B;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_b`

warning: unused variable: `c_style_i128_c`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:365:9
    |
365 |     let c_style_i128_c = CStyleI128::C;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_c`

warning: unused variable: `c_style_i128_d`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:366:9
    |
366 |     let c_style_i128_d = CStyleI128::D;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_d`

error: aborting due to 2 previous errors; 42 warnings emitted

For more information about this error, try `rustc --explain E0512`.

------------------------------------------

error: compilation failed!
status: exit code: 1
command: PATH="C:\a\rust\rust\build\aarch64-pc-windows-msvc\stage2\bin;C:\Program Files (x86)\Windows Kits\10\bin\arm64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\arm64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostARM64\arm64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostARM64\arm64;C:\a\rust\rust\build\aarch64-pc-windows-msvc\bootstrap-tools\aarch64-pc-windows-msvc\release\deps;C:\Program Files\Git\clangarm64\bin;C:\Program Files\Git\usr\bin;C:\Users\runneradmin\bin;C:\a\rust\rust\ninja;C:\a\rust\rust\citools\clang-rust\bin;C:\a\rust\rust\sccache;C:\aliyun-cli;C:\vcpkg;C:\Program Files (x86)\NSIS;C:\Program Files\Mercurial;C:\hostedtoolcache\windows\stack\3.9.3\x64;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files (x86)\R\R-4.5.3\bin\x64;C:\SeleniumWebDrivers\GeckoDriver;C:\SeleniumWebDrivers\EdgeDriver;C:\SeleniumWebDrivers\ChromeDriver;C:\Program Files (x86)\sbt\bin;C:\Program Files (x86)\GitHub CLI;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.24.13\arm64\bin;C:\hostedtoolcache\windows\Python\3.13.13\arm64\Scripts;C:\hostedtoolcache\windows\Python\3.13.13\arm64;C:\hostedtoolcache\windows\Ruby\3.4.9\aarch64\bin;C:\Program Files\LLVM\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\21.0.10-7.0\aarch64\bin;C:\Tools\Ninja;C:\Program Files (x86)\ImageMagick-7.1.2-Q16-HDRI;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\ProgramData\kind;C:\ProgramData\Chocolatey\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\PowerShell\7;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\150\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files\Microsoft SQL Server\130\DTS\Binn;C:\Program Files\Microsoft SQL Server\140\DTS\Binn;C:\Program Files\Microsoft SQL Server\150\DTS\Binn;C:\Program Files\Microsoft SQL Server\160\DTS\Binn;C:\Program Files\Microsoft SQL Server\170\DTS\Binn;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.15\bin;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\clangarm64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\GitHub CLI;C:\tools\php;C:\Program Files (x86)\sbt\bin;C:\Program Files\Amazon\AWSCLIV2;C:\Program Files\Amazon\SessionManagerPlugin\bin;C:\Program Files\Amazon\AWSSAMCLI\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\stage2\\bin\\rustc.exe" "C:\\a\\rust\\rust\\tests\\debuginfo\\msvc-pretty-enums.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=C:\\Users\\runneradmin\\.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=C:\\a\\rust\\rust\\vendor" "--sysroot" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\stage2" "--target=aarch64-pc-windows-msvc" "--check-cfg" "cfg(test,FALSE)" "-C" "prefer-dynamic" "-o" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\test\\debuginfo\\msvc-pretty-enums.cdb\\a.exe" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-g"
stdout: none
--- stderr -------------------------------
error: cannot find macro `pattern_type` in this scope
##[error]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:275:5
    |
275 |     pattern_type!(u128 is 340282366920938463463374607431768211454..=u128::MAX | 0..=1),
    |     ^^^^^^^^^^^^
    |
help: consider importing this macro
    |
237 + use std::pat::pattern_type;
---

warning: unused variable: `a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:313:9
    |
313 |     let a = Some(CStyleEnum::Low);
    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
    |
    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: unused variable: `b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:314:9
    |
314 |     let b = Option::<CStyleEnum>::None;
    |         ^ help: if this is intentional, prefix it with an underscore: `_b`

warning: unused variable: `c`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:315:9
    |
315 |     let c = NicheLayoutEnum::Tag1;
    |         ^ help: if this is intentional, prefix it with an underscore: `_c`

warning: unused variable: `d`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:316:9
    |
316 |     let d = NicheLayoutEnum::Data { my_data: CStyleEnum::High };
    |         ^ help: if this is intentional, prefix it with an underscore: `_d`

warning: unused variable: `e`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:317:9
    |
317 |     let e = NicheLayoutEnum::Tag2;
    |         ^ help: if this is intentional, prefix it with an underscore: `_e`

warning: unused variable: `f`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:318:9
    |
318 |     let f = Some(&1u32);
    |         ^ help: if this is intentional, prefix it with an underscore: `_f`

warning: unused variable: `g`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:319:9
    |
319 |     let g = Option::<&'static u32>::None;
    |         ^ help: if this is intentional, prefix it with an underscore: `_g`

warning: unused variable: `h`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:320:9
    |
320 |     let h = Some(12u32);
---

warning: unused variable: `j`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:322:9
    |
322 |     let j = CStyleEnum::High;
    |         ^ help: if this is intentional, prefix it with an underscore: `_j`

warning: unused variable: `k`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:323:9
    |
323 |     let k = Some("IAMA optional string!".to_string());
    |         ^ help: if this is intentional, prefix it with an underscore: `_k`

warning: unused variable: `l`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:324:9
    |
324 |     let l = Result::<u32, Empty>::Ok(42);
    |         ^ help: if this is intentional, prefix it with an underscore: `_l`

warning: unused variable: `niche128_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:325:9
    |
325 |     let niche128_some = NonZero::new(123456i128);
    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche128_some`

warning: unused variable: `niche128_none`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:326:9
    |
326 |     let niche128_none: Option<NonZero<i128>> = None;
    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche128_none`

warning: unused variable: `wrapping_niche128_untagged`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:328:9
    |
328 |     let wrapping_niche128_untagged = unsafe {
---

warning: unused variable: `direct_tag_128_a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:336:9
    |
336 |     let direct_tag_128_a = DirectTag128::A(42);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direct_tag_128_a`

warning: unused variable: `direct_tag_128_b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:337:9
    |
337 |     let direct_tag_128_b = DirectTag128::B(137);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direct_tag_128_b`

warning: unused variable: `niche_w_fields_1_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:339:9
    |
339 |     let niche_w_fields_1_some = NicheLayoutWithFields1::A(&77, 7);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_1_some`

warning: unused variable: `niche_w_fields_1_none`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:340:9
    |
340 |     let niche_w_fields_1_none = NicheLayoutWithFields1::B(99);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_1_none`

warning: unused variable: `niche_w_fields_2_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:342:9
    |
342 |     let niche_w_fields_2_some = NicheLayoutWithFields2::A(NonZero::new(800).unwrap(), 900);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_2_some`

warning: unused variable: `niche_w_fields_2_none`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:343:9
    |
343 |     let niche_w_fields_2_none = NicheLayoutWithFields2::B(1000);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_2_none`

warning: unused variable: `niche_w_fields_3_some`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:345:9
    |
345 |     let niche_w_fields_3_some = NicheLayoutWithFields3::A(137, true);
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_some`

warning: unused variable: `niche_w_fields_3_niche1`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:346:9
    |
346 |     let niche_w_fields_3_niche1 = NicheLayoutWithFields3::B(12);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche1`

warning: unused variable: `niche_w_fields_3_niche2`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:347:9
    |
347 |     let niche_w_fields_3_niche2 = NicheLayoutWithFields3::C(false);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche2`

warning: unused variable: `niche_w_fields_3_niche3`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:348:9
    |
348 |     let niche_w_fields_3_niche3 = NicheLayoutWithFields3::D(34);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche3`

warning: unused variable: `niche_w_fields_3_niche4`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:349:9
    |
349 |     let niche_w_fields_3_niche4 = NicheLayoutWithFields3::E(56);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche4`

warning: unused variable: `niche_w_fields_3_niche5`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:350:9
    |
350 |     let niche_w_fields_3_niche5 = NicheLayoutWithFields3::F;
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_3_niche5`

warning: unused variable: `niche_w_fields_std_result_ok`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:352:9
    |
352 |     let niche_w_fields_std_result_ok: Result<Box<[u8]>, u64> = Ok(vec![1, 2, 3].into());
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_std_result_ok`

warning: unused variable: `niche_w_fields_std_result_err`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:353:9
    |
353 |     let niche_w_fields_std_result_err: Result<Box<[u8]>, u64> = Err(789);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_niche_w_fields_std_result_err`

warning: unused variable: `arbitrary_discr1`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:355:9
    |
355 |     let arbitrary_discr1 = ArbitraryDiscr::Abc(1234);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arbitrary_discr1`

warning: unused variable: `arbitrary_discr2`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:356:9
    |
356 |     let arbitrary_discr2 = ArbitraryDiscr::Def(5678);
    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arbitrary_discr2`

warning: unused variable: `c_style_u128_a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:358:9
    |
358 |     let c_style_u128_a = CStyleU128::A;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_a`

warning: unused variable: `c_style_u128_b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:359:9
    |
359 |     let c_style_u128_b = CStyleU128::B;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_b`

warning: unused variable: `c_style_u128_c`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:360:9
    |
360 |     let c_style_u128_c = CStyleU128::C;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_c`

warning: unused variable: `c_style_u128_d`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:361:9
    |
361 |     let c_style_u128_d = CStyleU128::D;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_u128_d`

warning: unused variable: `c_style_i128_a`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:363:9
    |
363 |     let c_style_i128_a = CStyleI128::A;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_a`

warning: unused variable: `c_style_i128_b`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:364:9
    |
364 |     let c_style_i128_b = CStyleI128::B;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_b`

warning: unused variable: `c_style_i128_c`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:365:9
    |
365 |     let c_style_i128_c = CStyleI128::C;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_c`

warning: unused variable: `c_style_i128_d`
##[warning]   --> C:\a\rust\rust\tests\debuginfo\msvc-pretty-enums.rs:366:9
    |
366 |     let c_style_i128_d = CStyleI128::D;
    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_style_i128_d`

error: aborting due to 2 previous errors; 42 warnings emitted

For more information about this error, try `rustc --explain E0512`.
------------------------------------------
---

Some tests failed in compiletest suite=debuginfo mode=debuginfo host=aarch64-pc-windows-msvc target=aarch64-pc-windows-msvc
Bootstrap failed while executing `test --stage 2 --skip=compiler --skip=src`
Build completed unsuccessfully in 1:18:57
make: *** [Makefile:115: ci-msvc-py] Error 1
  local time: Mon Apr 27 17:47:55 CUT 2026
  network time: Mon, 27 Apr 2026 17:47:56 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@rust-bors rust-bors Bot 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 Apr 27, 2026
@rust-bors

rust-bors Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 48ece81 failed: CI. Failed job:

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 27, 2026
@rust-bors

rust-bors Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

PR #155433, which is a member of this rollup, was unapproved.

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Apr 27, 2026
@JonathanBrouwer
JonathanBrouwer deleted the rollup-BNIchAQ branch August 21, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc 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-infra Relevant to the infrastructure 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.