I\'m trying to write the examples in the book \"SFML Game Development\" but I\'m having a problem with the lifetimes for the struct that\'s supposed to represent the game wo
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.