I want to implement a builder similar to the debug builders defined by the standard library. They are defined using structures like the following:
struct Deb
Yes, you're broadly right.
A bound <...: 'a>
means that ...
(either a type or another lifetime) needs to be able to outlive 'a
. E.g. 'b: 'a
means that "'b
must live at least as long as 'a
" (not strictly outlives, though: they can be the same).
The colon is read "outlives", so
'long: 'short
is read "'long
outlives 'short
".
As for an official doc on the topic, the only place I've seen it documented so far is in the RFC on lifetime bounds.