【发布时间】:2022-01-02 16:23:09
【问题描述】:
在 Salsa 中,一个特性绑定了一个更高级别的特性。我在函数定义上看到过 HRTB,但在特征上却没有。什么意思?
pub trait Query: Debug + Default + Sized + for<'d> QueryDb<'d> {
...
fn query_storage<'a>(
group_storage: &'a <Self as QueryDb<'_>>::GroupStorage,
) -> &'a Arc<Self::Storage>;
}
https://github.com/salsa-rs/salsa/blob/fc6806a/src/lib.rs#L370
如题,我该如何阅读?是不是说,对于任何Query,都有一个对应的QueryDB 具有一些 生命周期?
这有什么不同
pub trait Query<'d>: Debug + Default + Sized + QueryDb<'d>
除此之外 impls 不能指定 'd?
【问题讨论】: