diff options
Diffstat (limited to 'src/test/ui/self/arbitrary_self_types_silly.rs')
-rw-r--r-- | src/test/ui/self/arbitrary_self_types_silly.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/self/arbitrary_self_types_silly.rs b/src/test/ui/self/arbitrary_self_types_silly.rs new file mode 100644 index 000000000..fb5f9012b --- /dev/null +++ b/src/test/ui/self/arbitrary_self_types_silly.rs @@ -0,0 +1,21 @@ +// run-pass +#![feature(arbitrary_self_types)] + +struct Foo; +struct Bar; + +impl std::ops::Deref for Bar { + type Target = Foo; + + fn deref(&self) -> &Foo { + &Foo + } +} + +impl Foo { + fn bar(self: Bar) -> i32 { 3 } +} + +fn main() { + assert_eq!(3, Bar.bar()); +} |