diff options
Diffstat (limited to 'src/test/ui/coherence/auxiliary/go_trait.rs')
-rw-r--r-- | src/test/ui/coherence/auxiliary/go_trait.rs | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/test/ui/coherence/auxiliary/go_trait.rs b/src/test/ui/coherence/auxiliary/go_trait.rs deleted file mode 100644 index aa0ec2289..000000000 --- a/src/test/ui/coherence/auxiliary/go_trait.rs +++ /dev/null @@ -1,43 +0,0 @@ -#![feature(specialization)] - -// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy. - -pub trait Go { - fn go(&self, arg: isize); -} - -pub fn go<G:Go>(this: &G, arg: isize) { - this.go(arg) -} - -pub trait GoMut { - fn go_mut(&mut self, arg: isize); -} - -pub fn go_mut<G:GoMut>(this: &mut G, arg: isize) { - this.go_mut(arg) -} - -pub trait GoOnce { - fn go_once(self, arg: isize); -} - -pub fn go_once<G:GoOnce>(this: G, arg: isize) { - this.go_once(arg) -} - -impl<G> GoMut for G - where G : Go -{ - default fn go_mut(&mut self, arg: isize) { - go(&*self, arg) - } -} - -impl<G> GoOnce for G - where G : GoMut -{ - default fn go_once(mut self, arg: isize) { - go_mut(&mut self, arg) - } -} |