diff options
Diffstat (limited to 'src/test/auxiliary/trait_default_method_xc_aux.rs')
| -rw-r--r-- | src/test/auxiliary/trait_default_method_xc_aux.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/test/auxiliary/trait_default_method_xc_aux.rs b/src/test/auxiliary/trait_default_method_xc_aux.rs new file mode 100644 index 00000000000..5ee243179df --- /dev/null +++ b/src/test/auxiliary/trait_default_method_xc_aux.rs @@ -0,0 +1,34 @@ +#[allow(default_methods)]; + +pub trait A { + fn f(&self) -> int; + fn g(&self) -> int { 10 } + fn h(&self) -> int { 10 } +} + + +impl A for int { + fn f(&self) -> int { 10 } +} + +trait B<T> { + fn thing<U>(&self, x: T, y: U) -> (T, U) { (x, y) } +} + +impl<T> B<T> for int { } +impl B<float> for bool { } + + + +pub trait TestEquality { + fn test_eq(&self, rhs: &Self) -> bool; + fn test_neq(&self, rhs: &Self) -> bool { + !self.test_eq(rhs) + } +} + +impl TestEquality for int { + fn test_eq(&self, rhs: &int) -> bool { + *self == *rhs + } +} |
