@ -11,10 +11,11 @@ confusion, because it seems intuitively backwards to many: the bigger scope is a
*subtype* of the smaller scope.
This does in fact make sense, though. The intuitive reason for this is that if
you expect an `&'a u8` , then it's totally fine for me to hand you an `& 'static
u8`, in the same way that if you expect an Animal in Java, it's totally fine for
me to hand you a Cat. Cats are just Animals *and more* , just as `'static` is
just `'a` *and more* .
you expect an `&'a u8` (for some concrete `'a` that you have already chosen),
then it's totally fine for me to hand you an `&'static u8` even if `'static !=
'a`, in the same way that if you expect an Animal in Java, it's totally fine
for me to hand you a Cat. Cats are just Animals *and more* , just as `'static`
is just `'a` *and more* .
(Note, the subtyping relationship and typed-ness of lifetimes is a fairly
arbitrary construct that some disagree with. However it simplifies our analysis