Skip to content

Update toolchain to nightly-2025-09-08#86

Open
coord-e wants to merge 1 commit into
mainfrom
coord-e/claude/nightly-2025-09-08
Open

Update toolchain to nightly-2025-09-08#86
coord-e wants to merge 1 commit into
mainfrom
coord-e/claude/nightly-2025-09-08

Conversation

@coord-e
Copy link
Copy Markdown
Owner

@coord-e coord-e commented May 11, 2026

#26

API changes in nightly-2025-09-08:

  • mir_borrowck now returns Result<&ConcreteOpaqueTypes, ErrorGuaranteed> instead of &BorrowCheckResult
  • require_lang_item takes Span instead of Option
  • tcx.hir().attrs(id) -> tcx.hir_attrs(id)
  • tcx.trait_of_item() -> tcx.opt_associated_item().trait_container()
  • ConstValue no longer has a lifetime parameter
  • ConstValue::Slice { data } -> { alloc_id }; fetch alloc via global_alloc
  • Pointer::into_parts() -> into_raw_parts() (returns (Prov, Size))
  • ItemKind::Trait gained Safety and Ident fields (5 -> 7 fields)
  • TraitItemId and ImplItemId lost the .id wrapper (use .owner_id directly)
  • fn_arg_names() -> fn_arg_idents() returning &[Option]
  • mir_ty::fold::TypeFoldable/TypeFolder/TypeSuperFoldable are now re-exported at the top level as mir_ty::TypeFoldable etc.
  • mismatched_lifetime_syntaxes lint generates invalid rustfix suggestion for enum_ref_drop test; disable rustfix with //@no-rustfix

https://claude.ai/code/session_01URrtbSTUKNrVKLK2MNLBFc

API changes in nightly-2025-09-08:
- mir_borrowck now returns Result<&ConcreteOpaqueTypes, ErrorGuaranteed>
  instead of &BorrowCheckResult
- require_lang_item takes Span instead of Option<Span>
- tcx.hir().attrs(id) -> tcx.hir_attrs(id)
- tcx.trait_of_item() -> tcx.opt_associated_item().trait_container()
- ConstValue no longer has a lifetime parameter
- ConstValue::Slice { data } -> { alloc_id }; fetch alloc via global_alloc
- Pointer::into_parts() -> prov_and_relative_offset() (returns (Prov, Size))
- ItemKind::Trait gained Safety and Ident fields (5 -> 7 fields)
- TraitItemId and ImplItemId lost the .id wrapper (use .owner_id directly)
- fn_arg_names() -> fn_arg_idents() returning &[Option<Ident>]
- mir_ty::fold::TypeFoldable/TypeFolder/TypeSuperFoldable are now
  re-exported at the top level as mir_ty::TypeFoldable etc.
- mismatched_lifetime_syntaxes lint generates invalid rustfix suggestion
  for enum_ref_drop test; disable rustfix with //@no-rustfix

https://claude.ai/code/session_01URrtbSTUKNrVKLK2MNLBFc
@coord-e coord-e force-pushed the coord-e/claude/nightly-2025-09-08 branch from 1f8e00c to a291bae Compare May 12, 2026 04:08
@coord-e coord-e marked this pull request as ready for review May 12, 2026 04:09
@coord-e coord-e requested a review from Copilot May 12, 2026 04:09
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project to nightly-2025-09-08 and adjusts the codebase to match upstream rustc API changes (MIR borrowck, HIR APIs, const evaluation structures, etc.), plus a small UI-test directive tweak to avoid invalid rustfix output.

Changes:

  • Bump Rust toolchain to nightly-2025-09-08.
  • Update rustc API integrations across analysis/refinement/pretty-printing code (HIR accessors, const value representations, trait/assoc item queries, type folding re-exports, etc.).
  • Disable rustfix on enum_ref_drop UI test due to broken lint suggestion generation.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/ui/fail/enum_ref_drop.rs Adds //@no-rustfix to avoid invalid rustfix output for the test.
src/refine/template.rs Updates type-folding imports to new mir_ty re-exports.
src/pretty.rs Makes lifetimes explicit in PrettySliceExt/PrettyDisplayExt return types.
src/chc/debug.rs Updates DebugInfo::display to return Display<'_>.
src/annot.rs Replaces token clones with value copies to match token API/ownership patterns.
src/analyze/local_def.rs Adapts argument-name handling to fn_arg_idents() (but introduces correctness issues).
src/analyze/did_cache.rs Updates trait/impl item traversal for new HIR item layouts and IDs.
src/analyze/basic_block.rs Updates const handling for ConstValue API changes and allocation lookup.
src/analyze.rs Updates borrowck query override, HIR attrs access, lang item API, and trait lookup API.
rust-toolchain.toml Updates pinned nightly toolchain version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/analyze/local_def.rs
.fn_arg_idents(self.local_def_id.to_def_id())
.iter()
.map(|ident| ident.to_string());
.map(|ident| ident.map_or_else(String::new, |i| i.to_string()));
Comment thread src/analyze/local_def.rs
Comment on lines 335 to +338
let input_ty = self.type_builder.build(*input_ty);
param_resolver.push_param(input_ident.name, input_ty.to_sort());
if let Some(ident) = input_ident {
param_resolver.push_param(ident.name, input_ty.to_sort());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants