【发布时间】:2020-01-03 12:11:53
【问题描述】:
我正在努力说服 Rust 接受对实例的引用,该实例实现了具有关联类型的通用特征作为结构字段的值。您能否提供一些线索,看看下面的代码有什么问题。
trait TraitA{}
trait TraitB{
type As: TraitA;
}
struct StructA;
impl TraitA for StructA{}
struct StructB;
impl TraitB for StructB{
type As = StructA;
}
struct StructC<'a> {
r: &'a (dyn TraitB<As = (dyn TraitA)> + 'a),
}
fn main(){
let x = StructB;
let z = StructC {
r: &x,
};
}
【问题讨论】:
-
我根据 Pavel Arnold 的评论简化了代码示例。
标签: rust