你的新理解是正确的.T: 'static
意味着T
不包含生命周期,或者may在整个程序中处于活动状态,但不一定要包含.
另见第Common Lifetime Misconceptions: if T: 'static
then T
must be valid for the entire program页.
例如,String: 'static
holds,但你可以随时放下String
,你不能再访问它了.只是如果我有一个String
,我把它扔了don't,我就可以永远拿着它,而不用担心它会在我背后失效,因为,比方说,底层存储被释放了.