Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/display.rs')
| -rw-r--r-- | crates/hir-ty/src/display.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/crates/hir-ty/src/display.rs b/crates/hir-ty/src/display.rs index 2b92408f0f..e807ce62e8 100644 --- a/crates/hir-ty/src/display.rs +++ b/crates/hir-ty/src/display.rs @@ -38,7 +38,7 @@ use rustc_apfloat::{ use rustc_ast_ir::FloatTy; use rustc_hash::FxHashSet; use rustc_type_ir::{ - AliasTyKind, CoroutineArgsParts, RegionKind, Upcast, + AliasTyKind, BoundVarIndexKind, CoroutineArgsParts, RegionKind, Upcast, inherent::{AdtDef, GenericArgs as _, IntoKind, SliceLike, Term as _, Ty as _, Tys as _}, }; use smallvec::SmallVec; @@ -682,9 +682,12 @@ impl<'db> HirDisplay<'db> for Const<'db> { fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError> { match self.kind() { ConstKind::Placeholder(_) => write!(f, "<placeholder>"), - ConstKind::Bound(db, bound_const) => { + ConstKind::Bound(BoundVarIndexKind::Bound(db), bound_const) => { write!(f, "?{}.{}", db.as_u32(), bound_const.var.as_u32()) } + ConstKind::Bound(BoundVarIndexKind::Canonical, bound_const) => { + write!(f, "?c.{}", bound_const.var.as_u32()) + } ConstKind::Infer(..) => write!(f, "#c#"), ConstKind::Param(param) => { let generics = generics(f.db, param.id.parent()); @@ -1525,9 +1528,12 @@ impl<'db> HirDisplay<'db> for Ty<'db> { } } } - TyKind::Bound(debruijn, ty) => { + TyKind::Bound(BoundVarIndexKind::Bound(debruijn), ty) => { write!(f, "?{}.{}", debruijn.as_usize(), ty.var.as_usize())? } + TyKind::Bound(BoundVarIndexKind::Canonical, ty) => { + write!(f, "?c.{}", ty.var.as_usize())? + } TyKind::Dynamic(bounds, region) => { // We want to put auto traits after principal traits, regardless of their written order. let mut bounds_to_display = SmallVec::<[_; 4]>::new(); @@ -1955,9 +1961,12 @@ impl<'db> HirDisplay<'db> for Region<'db> { write!(f, "{}", param_data.name.display(f.db, f.edition()))?; Ok(()) } - RegionKind::ReBound(db, idx) => { + RegionKind::ReBound(BoundVarIndexKind::Bound(db), idx) => { write!(f, "?{}.{}", db.as_u32(), idx.var.as_u32()) } + RegionKind::ReBound(BoundVarIndexKind::Canonical, idx) => { + write!(f, "?c.{}", idx.var.as_u32()) + } RegionKind::ReVar(_) => write!(f, "_"), RegionKind::ReStatic => write!(f, "'static"), RegionKind::ReError(..) => { |