diff options
Diffstat (limited to 'src/test/compile-fail/tps-invariant-trait.rs')
| -rw-r--r-- | src/test/compile-fail/tps-invariant-trait.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/test/compile-fail/tps-invariant-trait.rs b/src/test/compile-fail/tps-invariant-trait.rs index 9569e5f1e82..127aa23d6ab 100644 --- a/src/test/compile-fail/tps-invariant-trait.rs +++ b/src/test/compile-fail/tps-invariant-trait.rs @@ -9,8 +9,8 @@ // except according to those terms. trait box_trait<T> { - fn get() -> T; - fn set(t: T); + fn get(&self) -> T; + fn set(&self, t: T); } struct box<T> { @@ -20,11 +20,11 @@ struct box<T> { struct box_impl<T>(box<T>); impl<T:Copy> box_trait<T> for box_impl<T> { - fn get() -> T { return self.f; } - fn set(t: T) { self.f = t; } + fn get(&self) -> T { return self.f; } + fn set(&self, t: T) { self.f = t; } } -fn set_box_trait<T>(b: box_trait<@const T>, v: @const T) { +fn set_box_trait<T>(b: @box_trait<@const T>, v: @const T) { b.set(v); } @@ -34,7 +34,7 @@ fn set_box_impl<T>(b: box_impl<@const T>, v: @const T) { fn main() { let b = box_impl::<@int>(box::<@int> {f: @3}); - set_box_trait(@b as box_trait::<@int>, @mut 5); + set_box_trait(@b as @box_trait<@int>, @mut 5); //~^ ERROR values differ in mutability set_box_impl(b, @mut 5); //~^ ERROR values differ in mutability |
