What is the terminology name of these lifetime parameters?

fn foo<'a>(_:&'a ()){}  // #1
trait Trait<'b>
impl<'b> Trait<'b> for i32{}  // #2

What's the terminology name of 'a and 'b in #1 and #2? #2 is, I heard from somewhere, named a higher-ranked implementation. So, what is the lifetime parameter named? Are they named as unbounded lifetime?

Those are just normal lifetime annotations.
Higher-ranked bounds are something else:
https://doc.rust-lang.org/reference/trait-bounds.html#higher-ranked-trait-bounds

If you heard #2 from me, I'm not sure how common of a phrase it is.

#1 is just "a lifetime parameter" as far as I know.

I don't know that "unbounded lifetime" is really a common phrase either. It makes me think of lifetimes that come out of nowhere. But I don't have anything close to a citation to back up that intuition.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.