繁体   English   中英

Rust 类型 + 寿命的总和是多少?

[英]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;
}

在这里, Device2MyType没有生命周期要求——它只需要满足SayHello即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM