about summary refs log tree commit diff
path: root/tests/ui/object-safety/object-safety-sized.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/object-safety/object-safety-sized.rs')
-rw-r--r--tests/ui/object-safety/object-safety-sized.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/object-safety/object-safety-sized.rs b/tests/ui/object-safety/object-safety-sized.rs
new file mode 100644
index 00000000000..b424b892d3b
--- /dev/null
+++ b/tests/ui/object-safety/object-safety-sized.rs
@@ -0,0 +1,19 @@
+// Check that we correctly prevent users from making trait objects
+// from traits where `Self : Sized`.
+//
+// revisions: curr object_safe_for_dispatch
+
+#![cfg_attr(object_safe_for_dispatch, feature(object_safe_for_dispatch))]
+
+trait Bar : Sized {
+    fn bar<T>(&self, t: T);
+}
+
+fn make_bar<T:Bar>(t: &T) -> &dyn Bar {
+    //[curr]~^ ERROR E0038
+    t
+    //[object_safe_for_dispatch]~^ ERROR E0038
+}
+
+fn main() {
+}