8 fn foo(self: isize, x: isize) -> isize {
9 //~^ ERROR invalid `self` parameter type
19 fn foo(self: Bar<isize>, x: isize) -> isize {
20 //~^ ERROR invalid `self` parameter type
23 fn bar(self: &Bar<usize>, x: isize) -> isize {
24 //~^ ERROR invalid `self` parameter type
35 impl<'a, T> SomeTrait for &'a Bar<T> {
36 fn dummy1(self: &&'a Bar<T>) { }
37 fn dummy2(self: &Bar<T>) {} //~ ERROR mismatched `self` parameter type
38 //~^ ERROR mismatched `self` parameter type
39 fn dummy3(self: &&Bar<T>) {}
40 //~^ ERROR mismatched `self` parameter type
41 //~| expected reference `&'a Bar<T>`
42 //~| found reference `&Bar<T>`
43 //~| lifetime mismatch
44 //~| ERROR mismatched `self` parameter type
45 //~| expected reference `&'a Bar<T>`
46 //~| found reference `&Bar<T>`
47 //~| lifetime mismatch
51 let foo = Box::new(Foo {
54 println!("{}", foo.foo(2));
55 let bar = Box::new(Bar {
58 println!("{} {}", bar.foo(2), bar.bar(2));