about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2022-11-12 23:54:39 +0000
committerMichael Goulet <michael@errs.io>2023-01-04 00:56:05 +0000
commitb25da9ce6dd28d13c85911e0630d019403b7f5f3 (patch)
tree4b52425698e3d4667415153eab332b27db540012 /src
parentc7572670a1302f5c7e245d069200e22da9df0316 (diff)
layout_of: `T: Thin` implies `sizeof(&T) == sizeof(usize)`
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/layout/thin-meta-implies-thin-ptr.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/test/ui/layout/thin-meta-implies-thin-ptr.rs b/src/test/ui/layout/thin-meta-implies-thin-ptr.rs
new file mode 100644
index 00000000000..972579ea8be
--- /dev/null
+++ b/src/test/ui/layout/thin-meta-implies-thin-ptr.rs
@@ -0,0 +1,11 @@
+// check-pass
+
+#![feature(ptr_metadata)]
+
+use std::ptr::Thin;
+
+fn main() {}
+
+fn foo<T: ?Sized + Thin>(t: *const T) -> *const () {
+    unsafe { std::mem::transmute(t) }
+}