У меня есть следующие типы:
trait Monster {
fn attack(&self);
fn new(int) -> Self;
}
struct CookiesMonster {
cookies: int,
hungry_level: int,
}
impl Monster for CookiesMonster {
fn new(i: int) -> CookiesMonster {
CookiesMonster { cookies: i, hungry_level: i + 1 }
}
fn attack(&self) {
println!("I have {:d} cookies!!", self.cookies)
}
}
struct Dummy {
count: int
}
impl Dummy {
fn new(i: int) -> Dummy {
Dummy { count: i }
}
}
Теперь это работает:
let monster: CookiesMonster = Monster::new(10);
let dummy = Dummy::new(10);
Но это не так:
let monster = CookiesMonster::new(10);
Почему я не могу вызвать новый метод непосредственно в файле CookiesMonster?