Why is it asking for a lifetime if I have given it one?
Because you haven't given it the lifetime where it's needed. Look closely at the error message. It's telling you that CircleShape
is missing a lifetime, not the reference to CircleShape
(although that's also needed).
Review the definition of CircleShape
:
pub struct CircleShape<'s> { /* fields omitted */ }
It has been parameterized by a lifetime, so you need to provide one:
pub struct Game<'s> {
mWindow: RenderWindow,
mPlayer: &'s CircleShape<'s>,
}
Whether that's correct for your case, I can't say, but it should compile.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…