Skip to content

Commit 098f4e5

Browse files
committed
Add Miri smoke pass test for ptr_metadata intrinsic
1 parent 429f7a5 commit 098f4e5

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/tools/miri/tests/pass/intrinsics/intrinsics.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//@compile-flags: -Zmiri-permissive-provenance
2-
#![feature(core_intrinsics, layout_for_ptr)]
2+
#![feature(core_intrinsics, layout_for_ptr, ptr_metadata)]
33
//! Tests for various intrinsics that do not fit anywhere else.
44
55
use std::intrinsics;
@@ -57,4 +57,10 @@ fn main() {
5757
// Make sure that even if the discriminant is stored together with data, the intrinsic returns
5858
// only the discriminant, nothing about the data.
5959
assert_eq!(discriminant(&Some(false)), discriminant(&Some(true)));
60+
61+
let () = intrinsics::ptr_metadata(&[1, 2, 3]);
62+
let len = intrinsics::ptr_metadata(&[1, 2, 3][..]);
63+
assert_eq!(len, 3);
64+
let dyn_meta = intrinsics::ptr_metadata(&[1, 2, 3] as &dyn std::fmt::Debug);
65+
assert_eq!(dyn_meta.size_of(), 12);
6066
}

0 commit comments

Comments
 (0)