| trait Groom { | |
| fn shave(other: usize); | |
| } | |
| pub struct Cat { | |
| whiskers: isize, | |
| } | |
| pub enum MaybeDog { | |
| Dog, | |
| NoDog | |
| } | |
| impl MaybeDog { | |
| fn bark() { | |
| // If this provides a suggestion, it's a bug as MaybeDog doesn't impl Groom | |
| shave(); | |
| //~^ ERROR cannot find function `shave` | |
| } | |
| } | |
| impl Clone for Cat { | |
| fn clone(&self) -> Self { | |
| clone(); | |
| //~^ ERROR cannot find function `clone` | |
| loop {} | |
| } | |
| } | |
| impl Default for Cat { | |
| fn default() -> Self { | |
| default(); | |
| //~^ ERROR cannot find function `default` in this scope [E0425] | |
| loop {} | |
| } | |
| } | |
| impl Groom for Cat { | |
| fn shave(other: usize) { | |
| whiskers -= other; | |
| //~^ ERROR cannot find value `whiskers` | |
| shave(4); | |
| //~^ ERROR cannot find function `shave` | |
| purr(); | |
| //~^ ERROR cannot find function `purr` | |
| } | |
| } | |
| impl Cat { | |
| fn static_method() {} | |
| fn purr_louder() { | |
| static_method(); | |
| //~^ ERROR cannot find function `static_method` | |
| purr(); | |
| //~^ ERROR cannot find function `purr` | |
| purr(); | |
| //~^ ERROR cannot find function `purr` | |
| purr(); | |
| //~^ ERROR cannot find function `purr` | |
| } | |
| } | |
| impl Cat { | |
| fn meow() { | |
| if self.whiskers > 3 { | |
| //~^ ERROR expected value, found module `self` | |
| println!("MEOW"); | |
| } | |
| } | |
| fn purr(&self) { | |
| grow_older(); | |
| //~^ ERROR cannot find function `grow_older` | |
| shave(); | |
| //~^ ERROR cannot find function `shave` | |
| } | |
| fn burn_whiskers(&mut self) { | |
| whiskers = 0; | |
| //~^ ERROR cannot find value `whiskers` | |
| } | |
| pub fn grow_older(other:usize) { | |
| whiskers = 4; | |
| //~^ ERROR cannot find value `whiskers` | |
| purr_louder(); | |
| //~^ ERROR cannot find function `purr_louder` | |
| } | |
| } | |
| fn main() { | |
| self += 1; | |
| //~^ ERROR expected value, found module `self` | |
| } |