summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_type_ir/src/structural_impls.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_type_ir/src/structural_impls.rs')
-rw-r--r--compiler/rustc_type_ir/src/structural_impls.rs39
1 files changed, 38 insertions, 1 deletions
diff --git a/compiler/rustc_type_ir/src/structural_impls.rs b/compiler/rustc_type_ir/src/structural_impls.rs
index 45a2e9023..1e42175f6 100644
--- a/compiler/rustc_type_ir/src/structural_impls.rs
+++ b/compiler/rustc_type_ir/src/structural_impls.rs
@@ -4,11 +4,12 @@
use crate::fold::{FallibleTypeFolder, TypeFoldable};
use crate::visit::{TypeVisitable, TypeVisitor};
-use crate::Interner;
+use crate::{ConstKind, FloatTy, IntTy, Interner, UintTy};
use rustc_data_structures::functor::IdFunctor;
use rustc_data_structures::sync::Lrc;
use rustc_index::{Idx, IndexVec};
+use core::fmt;
use std::ops::ControlFlow;
///////////////////////////////////////////////////////////////////////////
@@ -163,3 +164,39 @@ impl<I: Interner, T: TypeVisitable<I>, Ix: Idx> TypeVisitable<I> for IndexVec<Ix
self.iter().try_for_each(|t| t.visit_with(visitor))
}
}
+
+impl fmt::Debug for IntTy {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "{}", self.name_str())
+ }
+}
+
+impl fmt::Debug for UintTy {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "{}", self.name_str())
+ }
+}
+
+impl fmt::Debug for FloatTy {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "{}", self.name_str())
+ }
+}
+
+impl<I: Interner> fmt::Debug for ConstKind<I> {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ use ConstKind::*;
+ match self {
+ Param(param) => write!(f, "{param:?}"),
+ Infer(var) => write!(f, "{var:?}"),
+ Bound(debruijn, var) => crate::debug_bound_var(f, *debruijn, var.clone()),
+ Placeholder(placeholder) => write!(f, "{placeholder:?}"),
+ Unevaluated(uv) => {
+ write!(f, "{uv:?}")
+ }
+ Value(valtree) => write!(f, "{valtree:?}"),
+ Error(_) => write!(f, "{{const error}}"),
+ Expr(expr) => write!(f, "{expr:?}"),
+ }
+ }
+}