I have spent some time reading about rust in the past but rarely actually used it.
When reading about rust I am constantly bombarded with what I would describe as lazy terminology.
In this case, the same term, `lifetime`, is being used to describe several distinct aspects of a system. Between the link you shared, the "Rust Book" that is available online, the book "Programming Rust", the compiler's error messages, and all the various blog posts, there is a definite lack of clear language. Many of these sources are even inconsistent within themselves.
It seems like the clearest, most agreed usage is that "lifetime" in general is very close to a concept many other languages have, usually called "scope".
The problem starts when eventually all these sources start talking about these things that look like `'a`. Suddenly they're calling `'a` the `lifetime`. That's a poor reuse of the same term.
It appears the compiler's error messages are calling this a `lifetime parameter`. The "Rust Book" at one point calls them `lifetime annotations`. Many sources just continue calling them `lifetimes` over and over again.
It would be nice if someone could come up with very precise language to describe each aspect of the system so that anyone writing about it can communicate clearly.
This problem is not limited to lifetimes at all. As I mentioned above, almost every time I read about rust I'm finding this reuse of terms, misuse of terms, and lack of precision. It's quite frustrating and a major turn off.