diff --git a/compiler/rustc_next_trait_solver/src/solve/normalizes_to/opaque_types.rs b/compiler/rustc_next_trait_solver/src/solve/normalizes_to/opaque_types.rs index 98c0c7eadb5b..babcd79d8334 100644 --- a/compiler/rustc_next_trait_solver/src/solve/normalizes_to/opaque_types.rs +++ b/compiler/rustc_next_trait_solver/src/solve/normalizes_to/opaque_types.rs @@ -13,6 +13,7 @@ impl EvalCtxt<'_, D> D: SolverDelegate, I: Interner, { + #[tracing::instrument(skip(self))] pub(super) fn normalize_opaque_type( &mut self, goal: Goal>, diff --git a/compiler/rustc_type_ir/src/infer_ctxt.rs b/compiler/rustc_type_ir/src/infer_ctxt.rs index c9533623591a..f4c61da45ce2 100644 --- a/compiler/rustc_type_ir/src/infer_ctxt.rs +++ b/compiler/rustc_type_ir/src/infer_ctxt.rs @@ -25,7 +25,7 @@ pub enum CantBeErased {} #[derive(Clone, Copy, Hash, Debug)] #[cfg_attr( feature = "nightly", - derive(Encodable_NoContext, Decodable_NoContext, HashStable_NoContext) + derive(Encodable_NoContext, Decodable_NoContext, StableHash_NoContext) )] pub struct MayBeErased; diff --git a/compiler/rustc_type_ir/src/search_graph/global_cache.rs b/compiler/rustc_type_ir/src/search_graph/global_cache.rs index 3e0f8004182a..fcbc8b281d13 100644 --- a/compiler/rustc_type_ir/src/search_graph/global_cache.rs +++ b/compiler/rustc_type_ir/src/search_graph/global_cache.rs @@ -68,7 +68,7 @@ pub(super) fn insert( let prev = entry.success.replace(Success { required_depth, nested_goals, result }); if let Some(prev) = &prev { cx.assert_evaluation_is_concurrent(); - assert_eq!(cx.get_tracked(&prev.result), evaluation_result.result); + assert_eq!(cx.get_tracked(&prev.result), evaluation_result.result, "{input:?}"); } } } diff --git a/compiler/rustc_type_ir/src/solve/mod.rs b/compiler/rustc_type_ir/src/solve/mod.rs index aaa46f1a6046..4dc7b9ccf366 100644 --- a/compiler/rustc_type_ir/src/solve/mod.rs +++ b/compiler/rustc_type_ir/src/solve/mod.rs @@ -31,7 +31,7 @@ #[derive_where(Copy, Clone, Debug, Hash, PartialEq, Eq; I: Interner)] #[derive(TypeVisitable_Generic, GenericTypeVisitable, TypeFoldable_Generic)] -#[cfg_attr(feature = "nightly", derive(HashStable_NoContext))] +#[cfg_attr(feature = "nightly", derive(StableHash_NoContext))] pub enum AccessedState { Known1([I::LocalDefId; 1]), Known2([I::LocalDefId; 2]), @@ -41,7 +41,7 @@ pub enum AccessedState { #[derive_where(Copy, Clone, Debug, Hash, PartialEq, Eq; I: Interner)] #[derive(TypeVisitable_Generic, GenericTypeVisitable, TypeFoldable_Generic)] -#[cfg_attr(feature = "nightly", derive(HashStable_NoContext))] +#[cfg_attr(feature = "nightly", derive(StableHash_NoContext))] pub struct AccessedOpaquesInfo { #[type_visitable(ignore)] #[type_foldable(identity)] @@ -82,7 +82,7 @@ pub fn opaques_accessed(&self) -> Option<&[I::LocalDefId]> { #[derive_where(Clone, Copy, Hash, PartialEq, Eq, Debug; I: Interner)] #[derive(TypeVisitable_Generic, GenericTypeVisitable, TypeFoldable_Generic)] -#[cfg_attr(feature = "nightly", derive(HashStable_NoContext))] +#[cfg_attr(feature = "nightly", derive(StableHash_NoContext))] pub enum AccessedOpaques { Yes(AccessedOpaquesInfo), No,