Skip to content

Conversation

@JonathanBrouwer
Copy link
Contributor

Successful merges:

r? @ghost

Create a similar rollup

Muhtasim-Rasheed and others added 30 commits February 1, 2026 19:06
Requiring `fn` in the macro syntax makes it a little more obvious that the
macro declares functions with those names, and makes them easier to grep for.
…nbrouwer

Port a lot of attributes to the new parser

r? @JonathanBrouwer

See commits for which attributes
…-message, r=eholk

Add help message suggesting explicit reference cast for From/TryFrom

Closes rust-lang#109829

Improves E0277 diagnostics when a `From` or `TryFrom` implementation is expected, but the provided type is a reference that can be explicitly cast to a type the trait can convert from.
Move `impl Interner for TyCtxt` to its own submodule

This impl is several hundred lines of mostly self-contained, mostly boilerplate code that can be extracted out of the dauntingly large `rustc_middle::ty::context` module.

- The trait and its impl were introduced by rust-lang#97287.

---

There should be no change to compiler behaviour.
…ect-lifetime-diag, r=chenyukang

Modernize diagnostic for indeterminate trait object lifetime bounds

* remove suggestion from the diagnostic message (bad style, too long) and turn it into a structured suggestion
* replace *object type* with *trait object type* since the former is an outdated term
…nnethercote

Remove `SubdiagMessage` in favour of the identical `DiagMessage`

For rust-lang#151366
Just some more cleanup :)
SubdiagMessage is now identical to DiagMessage, so there's no point in having both of them
Move the needs-drop check for `arena_cache` queries out of macro code

This is slightly simpler than before, because now the macro only needs to call a single function, and can just unconditionally supply `tcx` and a typed arena.

There should be no actual change to compiler behaviour.
…nkov

typeck: Make it clearer that `check_pat_lit` only handles literal patterns

Nowadays, the `hir::PatExprKind` enum guarantees that “expressions” in patterns can only be paths or literals.

`PatExprKind::Path` is already handled by the previous match arm, so we can make this match arm explicitly match on `PatExprKind::Lit` without losing exhaustiveness.

There should be no actual change to compiler behaviour.
…mimi

Format heterogeneous try blocks

The tracking issue for `try_blocks_heterogeneous` is rust-lang#149488.

This follows the formatting of homogeneous try blocks (feature `try_blocks`) by considering `try bikeshed <type>` to be the equivalent of `try` (in particular a single "token").

An alternative would be to permit breaking between `bikeshed` and `<type>`, but given that those 2 elements are an explicitly temporary part of the syntax, it doesn't seem worth it. There also doesn't seem to be any existing precedent breaking between a keyword and a type. It also doesn't seem to be useful in practice, given that the type itself doesn't break (which is how it works for the return type of closures) and has more chances to dominate the length in case a break is necessary.

Happy to adapt anything in case this formatting is not optimal.

The test is also copied from homogeneous try blocks with 2 additional test cases to demonstrate the behavior with long types.

See [#t-lang > try blocks @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/213817-t-lang/topic/try.20blocks/near/572387493) for context.
…r=nnethercote

Update documentation of rustc_macros

Update the docs to reflect the changes in rust-lang#151366
…e, r=lcnr

Uplift `Predicate::allow_normalization` to `rustc_type_ir`

Found this FIXME comment while fixing a bug in rust-analyzer 😄
cc rust-lang/rust-analyzer#21611

r? types
…ouwer

Port #![test_runner] to the attribute parser

Tracking issue: rust-lang#131229

r? @JonathanBrouwer
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Feb 10, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustc-dev-guide Area: rustc-dev-guide A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic 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-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. labels Feb 10, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 10, 2026

📌 Commit 30a3391 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 Feb 10, 2026
@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Feb 10, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - #152364 (Port a lot of attributes to the new parser)
 - #151954 (Add help message suggesting explicit reference cast for From/TryFrom)
 - #152148 (Move `impl Interner for TyCtxt` to its own submodule)
 - #152226 (Modernize diagnostic for indeterminate trait object lifetime bounds)
 - #152351 (Remove `SubdiagMessage` in favour of the identical `DiagMessage`)
 - #152417 (Move the needs-drop check for `arena_cache` queries out of macro code)
 - #150688 (typeck: Make it clearer that `check_pat_lit` only handles literal patterns)
 - #152293 (Format heterogeneous try blocks)
 - #152355 (Update documentation of rustc_macros)
 - #152396 (Uplift `Predicate::allow_normalization` to `rustc_type_ir`)
 - #152425 (Port #![test_runner] to the attribute parser)
@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-linux-alt failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[  7%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/zOSLibFunctions.cpp.o
[  7%] Linking CXX static library ../libLLVMSupport.a
[  7%] Built target LLVMSupport
[  7%] Building CXX object lib/Bitstream/Reader/CMakeFiles/LLVMBitstreamReader.dir/BitstreamReader.cpp.o
[  7%] Building CXX object lib/Support/LSP/CMakeFiles/LLVMSupportLSP.dir/Protocol.cpp.o
[  7%] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MappedBlockStream.cpp.o
[  7%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/DetailedRecordsBackend.cpp.o
[  7%] Building CXX object lib/FileCheck/CMakeFiles/LLVMFileCheck.dir/FileCheck.cpp.o
[  7%] Building CXX object lib/Extensions/CMakeFiles/LLVMExtensions.dir/Extensions.cpp.o
[  7%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/ActionCache.cpp.o
---
[  7%] Built target LLVMExtensions
[  7%] Building CXX object lib/Frontend/Directive/CMakeFiles/LLVMFrontendDirective.dir/Spelling.cpp.o
[  7%] Linking CXX static library ../libLLVMFileCheck.a
[  7%] Built target LLVMBitstreamReader
[  7%] Building CXX object lib/Support/LSP/CMakeFiles/LLVMSupportLSP.dir/Transport.cpp.o
[  7%] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFBuilder.cpp.o
[  7%] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFCommon.cpp.o
[  7%] Built target LLVMFileCheck
[  7%] Building CXX object lib/Plugins/CMakeFiles/LLVMPlugins.dir/PassPlugin.cpp.o
[  7%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/CodeViewRecordIO.cpp.o
[  7%] Linking CXX static library ../../libLLVMFrontendDirective.a
[  7%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/BuiltinCAS.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/JSONBackend.cpp.o
[  8%] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFError.cpp.o
[  8%] Built target LLVMFrontendDirective
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/BuiltinUnifiedCASDatabases.cpp.o
[  8%] Linking CXX static library ../libLLVMPlugins.a
[  8%] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o
[  8%] Building CXX object lib/Support/LSP/CMakeFiles/LLVMSupportLSP.dir/Logging.cpp.o
[  8%] Built target LLVMPlugins
[  8%] Building CXX object lib/WindowsManifest/CMakeFiles/LLVMWindowsManifest.dir/WindowsManifestMerger.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/ContinuationRecordBuilder.cpp.o
[  8%] Linking CXX static library ../../libLLVMDebugInfoMSF.a
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/DatabaseFile.cpp.o
---
[  8%] Built target LLVMLineEditor
[  8%] Building CXX object utils/FileCheck/CMakeFiles/FileCheck.dir/FileCheck.cpp.o
[  8%] Building C object utils/count/CMakeFiles/count.dir/count.c.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugChecksumsSubsection.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskCAS.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskCommon.cpp.o
[  8%] Linking CXX static library ../libLLVMOption.a
[  8%] Linking CXX executable ../../bin/count
[  8%] Built target LLVMOption
[  8%] Building CXX object utils/not/CMakeFiles/not.dir/not.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugCrossExSubsection.cpp.o
[  8%] Built target count
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskDataAllocator.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Record.cpp.o
[  8%] Linking CXX executable ../../bin/FileCheck
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugCrossImpSubsection.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/SetTheory.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskGraphDB.cpp.o
[  8%] Linking CXX executable ../../bin/not
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugFrameDataSubsection.cpp.o
[  8%] Building CXX object utils/UnicodeData/CMakeFiles/UnicodeNameMappingGenerator.dir/UnicodeNameMappingGenerator.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskKeyValueDB.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugInlineeLinesSubsection.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugLinesSubsection.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskTrieRawHashMap.cpp.o
[  8%] Linking CXX executable ../../bin/UnicodeNameMappingGenerator
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringToOffsetTable.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/UnifiedOnDiskCache.cpp.o
[  8%] Building CXX object utils/yaml-bench/CMakeFiles/yaml-bench.dir/YAMLBench.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugStringTableSubsection.cpp.o
[  8%] Building CXX object utils/split-file/CMakeFiles/split-file.dir/split-file.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackend.cpp.o
[  8%] Linking CXX static library ../libLLVMCAS.a
---
[ 80%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUGlobalISelDivergenceLowering.cpp.o
[ 80%] Building CXX object lib/Target/BPF/CMakeFiles/LLVMBPFCodeGen.dir/BPFISelLowering.cpp.o
[ 80%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVFrameLowering.cpp.o
[ 80%] Building CXX object lib/ExecutionEngine/Orc/CMakeFiles/LLVMOrcJIT.dir/JITTargetMachineBuilder.cpp.o
[ 80%] Building CXX object lib/DTLTO/CMakeFiles/LLVMDTLTO.dir/DTLTO.cpp.o
[ 80%] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMTargetMachine.cpp.o
[ 80%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CallingConvention.cpp.o
[ 80%] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86VZeroUpper.cpp.o
[ 80%] Building CXX object lib/ExecutionEngine/Orc/CMakeFiles/LLVMOrcJIT.dir/JITLinkReentryTrampolines.cpp.o
[ 80%] Building CXX object lib/Target/BPF/CMakeFiles/LLVMBPFCodeGen.dir/BPFMCInstLower.cpp.o
---
[ 86%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUPrepareAGPRAlloc.cpp.o
[ 86%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPULowerExecSync.cpp.o
[ 86%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MacroFusion.cpp.o
[ 86%] Building CXX object lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/DebuggerSupport.cpp.o
[ 86%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVVSETVLIInfoAnalysis.cpp.o
[ 86%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVZacasABIFix.cpp.o
[ 86%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MIPeepholeOpt.cpp.o
[ 86%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVZilsdOptimizer.cpp.o
[ 86%] Building CXX object lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/DebuggerSupportPlugin.cpp.o
[ 86%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUSwLowerLDS.cpp.o
[ 86%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MCInstLower.cpp.o
[ 86%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVCallLowering.cpp.o
[ 86%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUMachineFunction.cpp.o
---
[ 86%] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Clustering.cpp.o
[ 86%] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/CodeTemplate.cpp.o
[ 86%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUIGroupLP.cpp.o
[ 86%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64StackTagging.cpp.o
[ 86%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPULowerVGPREncoding.cpp.o
[ 86%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64StackTaggingPreRA.cpp.o
[ 86%] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/DisassemblerHelper.cpp.o
[ 86%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUMCResourceInfo.cpp.o
[ 86%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64StorePairSuppress.cpp.o
[ 86%] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Error.cpp.o
---
[ 93%] Linking CXX executable ../../bin/llvm-dwarfutil
[ 93%] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/llvm-ifs.cpp.o
[ 93%] Linking CXX executable ../../bin/llvm-gsymutil
[ 93%] Built target llvm-dwp
[ 93%] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[ 93%] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/llvm-ifs-driver.cpp.o
[ 93%] Built target llvm-debuginfo-analyzer
[ 93%] Building CXX object tools/llvm-isel-fuzzer/CMakeFiles/llvm-isel-fuzzer.dir/DummyISelFuzzer.cpp.o
[ 93%] Linking CXX executable ../../bin/llvm-ir2vec
[ 93%] Linking CXX executable ../../bin/llvm-ifs
---
[100%] Building CXX object tools/remarks-shlib/CMakeFiles/Remarks.dir/libremarks.cpp.o
[100%] Linking CXX executable ../../bin/reduce-chunk-list
[100%] Linking CXX shared library ../../lib/libRemarks.so
[100%] Building CXX object tools/llvm-reduce/CMakeFiles/llvm-reduce.dir/deltas/ReduceRegisterUses.cpp.o
[100%] Building CXX object tools/llvm-reduce/CMakeFiles/llvm-reduce.dir/deltas/ReduceSinkDefsToUses.cpp.o
[100%] Built target Remarks
[100%] Building CXX object tools/sancov/CMakeFiles/sancov.dir/sancov.cpp.o
[100%] Building CXX object tools/llvm-xray/CMakeFiles/llvm-xray.dir/xray-fdr-dump.cpp.o
[100%] Built target reduce-chunk-list
[100%] Building CXX object tools/sanstats/CMakeFiles/sanstats.dir/sanstats.cpp.o
---
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DWARFLinker/DWARFFile.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DWARFLinker/Parallel
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DTLTO
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DTLTO/DTLTO.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TargetParser
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TargetParser/X86TargetParser.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TargetParser/Triple.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TargetParser/SubtargetFeature.h
---
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/FuzzMutate/RandomIRBuilder.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Plugins
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Plugins/PassPlugin.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/BuiltinCASContext.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/CASReference.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskKeyValueDB.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskGraphDB.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/FileOffset.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskTrieRawHashMap.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/ObjectStore.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/UnifiedOnDiskCache.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/BuiltinUnifiedCASDatabases.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/BuiltinObjectHasher.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/CASID.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/ActionCache.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/MappedFileRegionArena.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskDataAllocator.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ToolDrivers
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ToolDrivers/llvm-lib
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ToolDrivers/llvm-lib/LibDriver.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ToolDrivers/llvm-dlltool
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h
---
error[E0275]: overflow evaluating the requirement `rustc_ast::PolyTraitRef: std::panic::RefUnwindSafe`
  |
  = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`rustdoc`)
note: required because it appears within the type `rustc_ast::GenericBound`
 --> /rustc-dev/9889b3717ef705550695ba12e4d4d4e72368dc8e/compiler/rustc_ast/src/ast.rs:390:9
note: required because it appears within the type `std::marker::PhantomData<rustc_ast::GenericBound>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/core/src/marker.rs:814:11
note: required because it appears within the type `smallvec::alloc::raw_vec::RawVec<rustc_ast::GenericBound>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/alloc/src/raw_vec/mod.rs:73:18
note: required because it appears within the type `std::vec::Vec<rustc_ast::GenericBound>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/alloc/src/vec/mod.rs:440:11
note: required because it appears within the type `rustc_ast::GenericParam`
 --> /rustc-dev/9889b3717ef705550695ba12e4d4d4e72368dc8e/compiler/rustc_ast/src/ast.rs:444:11
note: required because it appears within the type `std::marker::PhantomData<rustc_ast::GenericParam>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/core/src/marker.rs:814:11
note: required because it appears within the type `rustc_data_structures::thin_vec::ThinVec<rustc_ast::GenericParam>`
 --> /rust/deps/thin-vec-0.2.14/src/lib.rs:440:11
note: required because it appears within the type `rustc_ast::Generics`
 --> /rustc-dev/9889b3717ef705550695ba12e4d4d4e72368dc8e/compiler/rustc_ast/src/ast.rs:470:11
---
note: required because it appears within the type `std::vec::Vec<rustc_ast::tokenstream::AttrTokenTree>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/alloc/src/vec/mod.rs:440:11
note: required because it appears within the type `smallvec::alloc::sync::ArcInner<std::vec::Vec<rustc_ast::tokenstream::AttrTokenTree>>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/alloc/src/sync.rs:383:7
  = note: required because it appears within the type `*const smallvec::alloc::sync::ArcInner<std::vec::Vec<rustc_ast::tokenstream::AttrTokenTree>>`
note: required because it appears within the type `std::ptr::NonNull<smallvec::alloc::sync::ArcInner<std::vec::Vec<rustc_ast::tokenstream::AttrTokenTree>>>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/core/src/ptr/non_null.rs:76:11
note: required because it appears within the type `std::sync::Arc<std::vec::Vec<rustc_ast::tokenstream::AttrTokenTree>>`
 --> /rustc/9889b3717ef705550695ba12e4d4d4e72368dc8e/library/alloc/src/sync.rs:264:11
note: required because it appears within the type `rustc_ast::tokenstream::AttrTokenStream`
 --> /rustc-dev/9889b3717ef705550695ba12e4d4d4e72368dc8e/compiler/rustc_ast/src/tokenstream.rs:330:11
---
  = note: consider using `--verbose` to print the full type name to the console

For more information about this error, try `rustc --explain E0275`.
error: could not document `rustdoc`
Command `/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo doc -Zwarnings --target x86_64-unknown-linux-gnu -Zbinary-dep-depinfo -j 8 -Zroot-dir=/checkout --locked --color=always --profile=release --manifest-path /checkout/src/tools/rustdoc/Cargo.toml -Zskip-rustdoc-fingerprint --no-deps -p rustdoc -p rustdoc-json-types [workdir=/checkout]` failed with exit code 101
Created at: src/bootstrap/src/core/build_steps/tool.rs:191:21
Executed at: src/bootstrap/src/core/build_steps/doc.rs:1170:1

Command has failed. Rerun with -v to see more details.
Bootstrap failed while executing `dist --host x86_64-unknown-linux-gnu --target x86_64-unknown-linux-gnu --include-default-paths build-manifest bootstrap`
Build completed unsuccessfully in 1:06:04
  local time: Tue Feb 10 11:55:33 UTC 2026
  network time: Tue, 10 Feb 2026 11:55:33 GMT
##[error]Process completed with exit code 1.
##[group]Run 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 Feb 10, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 10, 2026

💔 Test for 9889b37 failed: CI. Failed job:

@JonathanBrouwer
Copy link
Contributor Author

Hmmm I was also able to reproduce this locally, so not spurious, but also not sure which PR causes this.
Will binary search locally

@JonathanBrouwer
Copy link
Contributor Author

This is weird, I cannot reproduce it on the branch of #152425, but kicking #152425 out of the rollup does fix the problem...
Must be some kind of soft-conflict between that PR and another one, anyways, just kicking that PR out for now in:
#152437

@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 Feb 10, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 10, 2026

PR #152425, which is a member of this rollup, was unapproved.
This rollup was thus also 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 Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustc-dev-guide Area: rustc-dev-guide A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic 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-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.

10 participants