pub Trait Any:'静态,什么是静态?这是一种特质吗?

问题描述 投票:0回答:1

我目前正在阅读 Rust 实现

std::any::Any
的代码。

这是特质的声明。

pub trait Any: 'static

如果我的理解是正确的,这定义了一个特征

Any
,它继承自冒号
':'
字符后面的所有内容。

在这种情况下,我们有

'static

引号字符

'
对我来说这是一个终生宣言。

我想了解如何解释这一点。

我认为特质只能从其他特质继承。这可能表明

'static
是一种特质。这是正确的吗?

如果不是,并且

'static
是生命周期规范而不是特征,那么我应该如何解释这行代码?
'static
会带来什么后果?它强制执行什么行为
Any

rust traits
1个回答
1
投票

Rust 中没有继承。特征定义中的语法

: ...
定义了实现者必须满足的界限。如果是一生,那就是一生的束缚。

在这种情况下,这意味着要实现

Any
的对象必须满足生命周期界限
'static
,即它可能不是或包含寿命短于
'static
的引用。

© www.soinside.com 2019 - 2024. All rights reserved.