diff options
Diffstat (limited to 'src/test/ui/self/arbitrary-self-types-not-object-safe.rs')
-rw-r--r-- | src/test/ui/self/arbitrary-self-types-not-object-safe.rs | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/test/ui/self/arbitrary-self-types-not-object-safe.rs b/src/test/ui/self/arbitrary-self-types-not-object-safe.rs deleted file mode 100644 index 40e8df339..000000000 --- a/src/test/ui/self/arbitrary-self-types-not-object-safe.rs +++ /dev/null @@ -1,44 +0,0 @@ -// revisions: curr object_safe_for_dispatch - -#![cfg_attr(object_safe_for_dispatch, feature(object_safe_for_dispatch))] - -use std::rc::Rc; - -trait Foo { - fn foo(self: &Rc<Self>) -> usize; -} - -trait Bar { - fn foo(self: &Rc<Self>) -> usize where Self: Sized; - fn bar(self: Rc<Self>) -> usize; -} - -impl Foo for usize { - fn foo(self: &Rc<Self>) -> usize { - **self - } -} - -impl Bar for usize { - fn foo(self: &Rc<Self>) -> usize { - **self - } - - fn bar(self: Rc<Self>) -> usize { - *self - } -} - -fn make_foo() { - let x = Rc::new(5usize) as Rc<dyn Foo>; - //[curr]~^ ERROR E0038 - //[curr]~| ERROR E0038 - //[object_safe_for_dispatch]~^^^ ERROR E0038 -} - -fn make_bar() { - let x = Rc::new(5usize) as Rc<dyn Bar>; - x.bar(); -} - -fn main() {} |