'a:'b means that the lifetime of a is longer than that of b. I was thinking that it would be easier to understand if you use >=, such as 'a >='b.
Oh yeah, apologies for not answering the actual question asked... lol.
'a: 'b is often read as "
'b". Documentation in the reference.
Rust does have an unfortunate tendency to overload the single colon: for types and lifetimes (there's an analogy here but it's not immediately obvious), trait bounds, supertraits, and -- worst of all -- field initialization for structs/struct variants.
Indeed, a single colon is used in many places, and the meaning is different
"Everybody wants the colon" -- Larry Wall's first law of language design