[英]What are sum of Rust types + lifetime?
有一個特點可以做到這一點:
pub trait Device<'a> {
type RxToken: RxToken + 'a;
type TxToken: TxToken + 'a;
這是什么意思? 為什么不type RxToken: RxToken<'a>
?
讓我們看一個例子:
trait SayHello {
fn say_hello(&self);
}
pub trait Device<'a> {
type MyType : SayHello + 'a;
}
如您所見, SayHello
本身對生命周期約束一無所知,但MyType
被約束以滿足SayHello
並且必須在生命周期'a
內有效。
相反,考慮
trait SayHello {
fn say_hello(&self);
}
pub trait Device2<'a> {
type MyType : SayHello;
}
在這里, Device2
對MyType
沒有生命周期要求——它只需要滿足SayHello
即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.