diff options
Diffstat (limited to 'src/test/ui/methods/method-self-arg-trait.rs')
| -rw-r--r-- | src/test/ui/methods/method-self-arg-trait.rs | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/test/ui/methods/method-self-arg-trait.rs b/src/test/ui/methods/method-self-arg-trait.rs deleted file mode 100644 index ffa7a552b25..00000000000 --- a/src/test/ui/methods/method-self-arg-trait.rs +++ /dev/null @@ -1,67 +0,0 @@ -// run-pass -// Test method calls with self as an argument - -static mut COUNT: u64 = 1; - -#[derive(Copy, Clone)] -struct Foo; - -trait Bar : Sized { - fn foo1(&self); - fn foo2(self); - fn foo3(self: Box<Self>); - - fn bar1(&self) { - unsafe { COUNT *= 7; } - } - fn bar2(self) { - unsafe { COUNT *= 11; } - } - fn bar3(self: Box<Self>) { - unsafe { COUNT *= 13; } - } -} - -impl Bar for Foo { - fn foo1(&self) { - unsafe { COUNT *= 2; } - } - - fn foo2(self) { - unsafe { COUNT *= 3; } - } - - fn foo3(self: Box<Foo>) { - unsafe { COUNT *= 5; } - } -} - -impl Foo { - fn baz(self) { - unsafe { COUNT *= 17; } - // Test internal call. - Bar::foo1(&self); - Bar::foo2(self); - Bar::foo3(Box::new(self)); - - Bar::bar1(&self); - Bar::bar2(self); - Bar::bar3(Box::new(self)); - } -} - -fn main() { - let x = Foo; - // Test external call. - Bar::foo1(&x); - Bar::foo2(x); - Bar::foo3(Box::new(x)); - - Bar::bar1(&x); - Bar::bar2(x); - Bar::bar3(Box::new(x)); - - x.baz(); - - unsafe { assert_eq!(COUNT, 2*2*3*3*5*5*7*7*11*11*13*13*17); } -} |
