|
|
@ -121,9 +121,9 @@ Interestingly, only generic types need to worry about this. If they aren't
|
|
|
|
generic, then the only lifetimes they can harbor are `'static`, which will truly
|
|
|
|
generic, then the only lifetimes they can harbor are `'static`, which will truly
|
|
|
|
live _forever_. This is why this problem is referred to as _sound generic drop_.
|
|
|
|
live _forever_. This is why this problem is referred to as _sound generic drop_.
|
|
|
|
Sound generic drop is enforced by the _drop checker_. As of this writing, some
|
|
|
|
Sound generic drop is enforced by the _drop checker_. As of this writing, some
|
|
|
|
of the finer details of how the drop checker validates types is totally up in
|
|
|
|
of the finer details of how the drop checker (also called dropck) validates
|
|
|
|
the air. However The Big Rule is the subtlety that we have focused on this whole
|
|
|
|
types is totally up in the air. However The Big Rule is the subtlety that we
|
|
|
|
section:
|
|
|
|
have focused on this whole section:
|
|
|
|
|
|
|
|
|
|
|
|
**For a generic type to soundly implement drop, its generics arguments must
|
|
|
|
**For a generic type to soundly implement drop, its generics arguments must
|
|
|
|
strictly outlive it.**
|
|
|
|
strictly outlive it.**
|
|
|
|