循环引用的时候需要使用weak,弱引用,一般把上级作为弱引用加到下级里
trait Sprite {
fn draw(&self);
fn update(&self);
}
struct Ball {
game: RefCell<Weak<Game>>,
}
impl Sprite for Ball {
fn draw(&self) {
}
fn update(&self) {
let g = self.game.borrow_mut().upgrade().expect("");
let mut score = g