about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Mark Martin <ericmarkmartin@gmail.com>2023-07-26 00:15:29 -0400
committerEric Mark Martin <ericmarkmartin@gmail.com>2023-07-26 00:22:38 -0400
commit933fc180bd7a3a096e9412e8535cd254a92705be (patch)
tree4b1946c8d9a76489013d60f8da677d26c1dd512e
parentbd1ae282f1cfd576e54c27e5c1f1efcb8f500377 (diff)
downloadrust-933fc180bd7a3a096e9412e8535cd254a92705be.tar.gz
rust-933fc180bd7a3a096e9412e8535cd254a92705be.zip
add stable NullaryOp
-rw-r--r--compiler/rustc_smir/src/rustc_smir/mod.rs4
-rw-r--r--compiler/rustc_smir/src/stable_mir/mir/body.rs3
2 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_smir/src/rustc_smir/mod.rs b/compiler/rustc_smir/src/rustc_smir/mod.rs
index 044e2f8f325..9bf3d031217 100644
--- a/compiler/rustc_smir/src/rustc_smir/mod.rs
+++ b/compiler/rustc_smir/src/rustc_smir/mod.rs
@@ -156,7 +156,9 @@ impl<'tcx> Stable<'tcx> for mir::Rvalue<'tcx> {
                 ops.0.stable(tables),
                 ops.1.stable(tables),
             ),
-            NullaryOp(_, _) => todo!(),
+            NullaryOp(null_op, ty) => {
+                stable_mir::mir::Rvalue::NullaryOp(null_op.stable(tables), tables.intern_ty(*ty))
+            }
             UnaryOp(un_op, op) => {
                 stable_mir::mir::Rvalue::UnaryOp(un_op.stable(tables), op.stable(tables))
             }
diff --git a/compiler/rustc_smir/src/stable_mir/mir/body.rs b/compiler/rustc_smir/src/stable_mir/mir/body.rs
index 831eb6589e4..1b1871bcd2a 100644
--- a/compiler/rustc_smir/src/stable_mir/mir/body.rs
+++ b/compiler/rustc_smir/src/stable_mir/mir/body.rs
@@ -218,6 +218,9 @@ pub enum Rvalue {
     /// nature of this operation?
     ThreadLocalRef(stable_mir::CrateItem),
 
+    /// Computes a value as described by the operation.
+    NullaryOp(NullOp, Ty),
+
     /// Exactly like `BinaryOp`, but less operands.
     ///
     /// Also does two's-complement arithmetic. Negation requires a signed integer or a float;