[英]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.