about summary refs log tree commit diff
path: root/compiler/stable_mir/src/mir
diff options
context:
space:
mode:
authorCelina G. Val <celinval@amazon.com>2023-12-06 15:08:08 -0800
committerCelina G. Val <celinval@amazon.com>2023-12-06 15:08:08 -0800
commite16ebdbb069e2901b0a1241b9122ce61ab7d4dd1 (patch)
tree2ff650ebdb1701bf08ba05b8b202d6bb274c9e9c /compiler/stable_mir/src/mir
parent281b65aad94cb81b56b2e03359d19d90200fa3ee (diff)
downloadrust-e16ebdbb069e2901b0a1241b9122ce61ab7d4dd1.tar.gz
rust-e16ebdbb069e2901b0a1241b9122ce61ab7d4dd1.zip
Simplify StaticDef to Instance conversion
Diffstat (limited to 'compiler/stable_mir/src/mir')
-rw-r--r--compiler/stable_mir/src/mir/mono.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/stable_mir/src/mir/mono.rs b/compiler/stable_mir/src/mir/mono.rs
index 09683a7213b..06f78eb245a 100644
--- a/compiler/stable_mir/src/mir/mono.rs
+++ b/compiler/stable_mir/src/mir/mono.rs
@@ -143,8 +143,9 @@ impl TryFrom<CrateItem> for Instance {
 
     fn try_from(item: CrateItem) -> Result<Self, Self::Error> {
         with(|context| {
-            if !context.requires_monomorphization(item.0) {
-                Ok(context.mono_instance(item))
+            let def_id = item.def_id();
+            if !context.requires_monomorphization(def_id) {
+                Ok(context.mono_instance(def_id))
             } else {
                 Err(Error::new("Item requires monomorphization".to_string()))
             }
@@ -223,7 +224,7 @@ impl TryFrom<Instance> for StaticDef {
 impl From<StaticDef> for Instance {
     fn from(value: StaticDef) -> Self {
         // A static definition should always be convertible to an instance.
-        Instance::try_from(CrateItem::from(value)).unwrap()
+        with(|cx| cx.mono_instance(value.def_id()))
     }
 }