Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/next_solver/region.rs')
| -rw-r--r-- | crates/hir-ty/src/next_solver/region.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/crates/hir-ty/src/next_solver/region.rs b/crates/hir-ty/src/next_solver/region.rs index 0bfd2b8003..32c30d19c7 100644 --- a/crates/hir-ty/src/next_solver/region.rs +++ b/crates/hir-ty/src/next_solver/region.rs @@ -17,12 +17,18 @@ use super::{ pub type RegionKind<'db> = rustc_type_ir::RegionKind<DbInterner<'db>>; -#[salsa::interned(constructor = new_, debug)] +#[salsa::interned(constructor = new_)] pub struct Region<'db> { #[returns(ref)] kind_: RegionKind<'db>, } +impl std::fmt::Debug for Region<'_> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + self.kind().fmt(f) + } +} + impl<'db> Region<'db> { pub fn new(interner: DbInterner<'db>, kind: RegionKind<'db>) -> Self { Region::new_(interner.db(), kind) @@ -69,6 +75,10 @@ impl<'db> Region<'db> { matches!(self.inner(), RegionKind::ReVar(_)) } + pub fn is_error(&self) -> bool { + matches!(self.inner(), RegionKind::ReError(_)) + } + pub fn error(interner: DbInterner<'db>) -> Self { Region::new(interner, RegionKind::ReError(ErrorGuaranteed)) } |