about summary refs log tree commit diff
path: root/tests/ui/traits/ice-with-dyn-pointee-errors.rs
diff options
context:
space:
mode:
authorAnthony Kalaitzis <anthony.kalaitzis@gmail.com>2023-06-27 17:52:26 +0930
committerAnthony Kalaitzis <anthony.kalaitzis@gmail.com>2023-06-27 17:52:26 +0930
commit09f05489e34f54f3e1f89350651bbcbd564dbbf7 (patch)
tree9996476737db582db14d73c3c5f8cae84c887400 /tests/ui/traits/ice-with-dyn-pointee-errors.rs
parent22e9fe644ea710eec50cb0aabcae7fa8dd9fd675 (diff)
downloadrust-09f05489e34f54f3e1f89350651bbcbd564dbbf7.tar.gz
rust-09f05489e34f54f3e1f89350651bbcbd564dbbf7.zip
Add passing & failing test for bultin dyn trait generation
Diffstat (limited to 'tests/ui/traits/ice-with-dyn-pointee-errors.rs')
-rw-r--r--tests/ui/traits/ice-with-dyn-pointee-errors.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ui/traits/ice-with-dyn-pointee-errors.rs b/tests/ui/traits/ice-with-dyn-pointee-errors.rs
new file mode 100644
index 00000000000..46cef2c8bc0
--- /dev/null
+++ b/tests/ui/traits/ice-with-dyn-pointee-errors.rs
@@ -0,0 +1,15 @@
+#![feature(ptr_metadata)]
+// Address issue #112737 -- ICE with dyn Pointee
+extern crate core;
+use core::ptr::Pointee;
+
+fn unknown_sized_object_ptr_in(_: &(impl Pointee<Metadata = ()> + ?Sized)) {}
+
+fn raw_pointer_in(x: &dyn Pointee<Metadata = ()>) {
+    unknown_sized_object_ptr_in(x)
+    //~^ ERROR type mismatch resolving `<dyn Pointee<Metadata = ()> as Pointee>::Metadata == ()`
+}
+
+fn main() {
+    raw_pointer_in(&42)
+}