about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorMohammad Omidvar <m_omidvart@sfu.ca>2024-05-23 15:35:18 +0000
committerMohammad Omidvar <m_omidvart@sfu.ca>2024-05-23 15:35:18 +0000
commit6743fc7704d28a0be61643b1cada2fd31be132b5 (patch)
treeeee31c7a88c0038db5532a53e26805a57126f883 /tests
parent56ad5453f6002aaabdcab6399238a1c93254a134 (diff)
downloadrust-6743fc7704d28a0be61643b1cada2fd31be132b5.tar.gz
rust-6743fc7704d28a0be61643b1cada2fd31be132b5.zip
Add conversion from IntrinsicDef to FnDef
Diffstat (limited to 'tests')
-rw-r--r--tests/ui-fulldeps/stable-mir/check_intrinsics.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/ui-fulldeps/stable-mir/check_intrinsics.rs b/tests/ui-fulldeps/stable-mir/check_intrinsics.rs
index a9c1f64f812..7e247ce0c75 100644
--- a/tests/ui-fulldeps/stable-mir/check_intrinsics.rs
+++ b/tests/ui-fulldeps/stable-mir/check_intrinsics.rs
@@ -24,11 +24,11 @@ use rustc_smir::rustc_internal;
 use stable_mir::mir::mono::{Instance, InstanceKind};
 use stable_mir::mir::visit::{Location, MirVisitor};
 use stable_mir::mir::{LocalDecl, Terminator, TerminatorKind};
-use stable_mir::ty::{FnDef, GenericArgs, IntrinsicDef, RigidTy, TyKind};
+use stable_mir::ty::{FnDef, GenericArgs, RigidTy, TyKind};
+use std::assert_matches::assert_matches;
 use std::convert::TryFrom;
 use std::io::Write;
 use std::ops::ControlFlow;
-use std::assert_matches::assert_matches;
 
 /// This function tests that we can correctly get type information from binary operations.
 fn test_intrinsics() -> ControlFlow<()> {
@@ -41,9 +41,9 @@ fn test_intrinsics() -> ControlFlow<()> {
 
     let calls = visitor.calls;
     assert_eq!(calls.len(), 3, "Expected 3 calls, but found: {calls:?}");
-    for (fn_def, args) in &calls {
-        check_instance(&Instance::resolve(*fn_def, &args).unwrap());
-        check_def(fn_def.as_intrinsic().unwrap());
+    for (fn_def, args) in calls.into_iter() {
+        check_instance(&Instance::resolve(fn_def, &args).unwrap());
+        check_def(fn_def);
     }
 
     ControlFlow::Continue(())
@@ -68,7 +68,11 @@ fn check_instance(instance: &Instance) {
     }
 }
 
-fn check_def(intrinsic: IntrinsicDef) {
+fn check_def(fn_def: FnDef) {
+    assert!(fn_def.is_intrinsic());
+    let intrinsic = fn_def.as_intrinsic().unwrap();
+    assert_eq!(fn_def, intrinsic.into());
+
     let name = intrinsic.fn_name();
     match name.as_str() {
         "likely" | "size_of_val" => {