Skip to content

Commit c583ccb

Browse files
committed
Add Slice to TypeName
1 parent 582ea06 commit c583ccb

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

chalk-ir/src/debug.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ impl<I: Interner> Debug for TypeName<I> {
144144
TypeName::Scalar(scalar) => write!(fmt, "{:?}", scalar),
145145
TypeName::Tuple(arity) => write!(fmt, "{:?}", arity),
146146
TypeName::OpaqueType(opaque_ty) => write!(fmt, "!{:?}", opaque_ty),
147+
TypeName::Slice => write!(fmt, "{{slice}}"),
147148
TypeName::Raw(mutability) => write!(fmt, "{:?}", mutability),
148149
TypeName::Ref(mutability) => write!(fmt, "{:?}", mutability),
149150
TypeName::Error => write!(fmt, "{{error}}"),

chalk-ir/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ pub enum TypeName<I: Interner> {
156156
/// a tuple of the given arity
157157
Tuple(usize),
158158

159+
/// a slice type like `[T]`
160+
Slice,
161+
159162
/// a raw pointer type like `*const T` or `*mut T`
160163
Raw(Mutability),
161164

chalk-solve/src/clauses.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,7 @@ fn match_type_name<I: Interner>(
410410
TypeName::Tuple(_) => {
411411
builder.push_fact(WellFormed::Ty(application.clone().intern(interner)))
412412
}
413+
TypeName::Slice => builder.push_fact(WellFormed::Ty(application.clone().intern(interner))),
413414
TypeName::Raw(_) => builder.push_fact(WellFormed::Ty(application.clone().intern(interner))),
414415
TypeName::Ref(_) => builder.push_fact(WellFormed::Ty(application.clone().intern(interner))),
415416
}

0 commit comments

Comments
 (0)