File tree Expand file tree Collapse file tree 3 files changed +13
-10
lines changed Expand file tree Collapse file tree 3 files changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -167,6 +167,7 @@ impl<I: Interner> Debug for TypeName<I> {
167
167
TypeName :: FnDef ( fn_def) => write ! ( fmt, "{:?}" , fn_def) ,
168
168
TypeName :: Raw ( mutability) => write ! ( fmt, "{:?}" , mutability) ,
169
169
TypeName :: Ref ( mutability) => write ! ( fmt, "{:?}" , mutability) ,
170
+ TypeName :: Never => write ! ( fmt, "Never" ) ,
170
171
TypeName :: Error => write ! ( fmt, "{{error}}" ) ,
171
172
}
172
173
}
Original file line number Diff line number Diff line change @@ -175,6 +175,9 @@ pub enum TypeName<I: Interner> {
175
175
/// the string primitive type
176
176
Str ,
177
177
178
+ /// the never type `!`
179
+ Never ,
180
+
178
181
/// This can be used to represent an error, e.g. during name resolution of a type.
179
182
/// Chalk itself will not produce this, just pass it through when given.
180
183
Error ,
Original file line number Diff line number Diff line change @@ -404,20 +404,19 @@ fn match_type_name<I: Interner>(
404
404
. db
405
405
. associated_ty_data ( type_id)
406
406
. to_program_clauses ( builder) ,
407
- TypeName :: Scalar ( _) => {
408
- builder. push_fact ( WellFormed :: Ty ( application. clone ( ) . intern ( interner) ) )
409
- }
410
- TypeName :: Str => builder. push_fact ( WellFormed :: Ty ( application. clone ( ) . intern ( interner) ) ) ,
411
- TypeName :: Tuple ( _) => {
412
- builder. push_fact ( WellFormed :: Ty ( application. clone ( ) . intern ( interner) ) )
413
- }
414
- TypeName :: Slice => builder. push_fact ( WellFormed :: Ty ( application. clone ( ) . intern ( interner) ) ) ,
415
- TypeName :: Raw ( _) => builder. push_fact ( WellFormed :: Ty ( application. clone ( ) . intern ( interner) ) ) ,
416
- TypeName :: Ref ( _) => builder. push_fact ( WellFormed :: Ty ( application. clone ( ) . intern ( interner) ) ) ,
417
407
TypeName :: FnDef ( fn_def_id) => builder
418
408
. db
419
409
. fn_def_datum ( fn_def_id)
420
410
. to_program_clauses ( builder) ,
411
+ TypeName :: Tuple ( _)
412
+ | TypeName :: Scalar ( _)
413
+ | TypeName :: Str
414
+ | TypeName :: Slice
415
+ | TypeName :: Raw ( _)
416
+ | TypeName :: Ref ( _)
417
+ | TypeName :: Never => {
418
+ builder. push_fact ( WellFormed :: Ty ( application. clone ( ) . intern ( interner) ) )
419
+ }
421
420
}
422
421
}
423
422
You can’t perform that action at this time.
0 commit comments