diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2023-08-29 15:11:51 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2023-08-30 08:08:39 +0000 |
| commit | 3a736a747dbb569da4eac27ecf6c25fed8c479c6 (patch) | |
| tree | 06da33c03f48255f2096a08ebd2aa1256ce352c0 | |
| parent | 9b8e3eb8f76a7debacf35f9d5c3dcfb509ea6fc3 (diff) | |
| download | rust-3a736a747dbb569da4eac27ecf6c25fed8c479c6.tar.gz rust-3a736a747dbb569da4eac27ecf6c25fed8c479c6.zip | |
Exhaustively match on `ty::Const::kind`
| -rw-r--r-- | compiler/rustc_smir/src/rustc_smir/mod.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/compiler/rustc_smir/src/rustc_smir/mod.rs b/compiler/rustc_smir/src/rustc_smir/mod.rs index b3f3f6d01d7..316affa2c65 100644 --- a/compiler/rustc_smir/src/rustc_smir/mod.rs +++ b/compiler/rustc_smir/src/rustc_smir/mod.rs @@ -1095,7 +1095,18 @@ impl<'tcx> Stable<'tcx> for ty::Const<'tcx> { } ty::ParamCt(param) => stable_mir::ty::ConstantKind::ParamCt(opaque(¶m)), ty::ErrorCt(_) => unreachable!(), - _ => unimplemented!(), + ty::InferCt(_) => unreachable!(), + ty::BoundCt(_, _) => unimplemented!(), + ty::PlaceholderCt(_) => unimplemented!(), + ty::Unevaluated(uv) => { + stable_mir::ty::ConstantKind::Unevaluated(stable_mir::ty::UnevaluatedConst { + ty: tables.intern_ty(self.ty()), + def: tables.const_def(uv.def), + args: uv.args.stable(tables), + promoted: None, + }) + } + ty::ExprCt(_) => unimplemented!(), }, } } |
