about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2023-08-29 15:11:51 +0000
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2023-08-30 08:08:39 +0000
commit3a736a747dbb569da4eac27ecf6c25fed8c479c6 (patch)
tree06da33c03f48255f2096a08ebd2aa1256ce352c0
parent9b8e3eb8f76a7debacf35f9d5c3dcfb509ea6fc3 (diff)
downloadrust-3a736a747dbb569da4eac27ecf6c25fed8c479c6.tar.gz
rust-3a736a747dbb569da4eac27ecf6c25fed8c479c6.zip
Exhaustively match on `ty::Const::kind`
-rw-r--r--compiler/rustc_smir/src/rustc_smir/mod.rs13
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(&param)),
                 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!(),
             },
         }
     }