TT
Size: a a a
N
AZ
CM
IB
c
p
IL
Box
или Vec
?trait A: Send + Sync {
type Assoc: B + ?Sized;
}
trait B {}
struct S {
a: Box<dyn A<Assoc = dyn B>>,
}
struct SA {}
struct SB {}
impl B for SB {}
impl A for SA {
type Assoc = SB;
}
fn f() {
let s = S { a: Box::new(SA {}) };
}
r
Box
или Vec
?trait A: Send + Sync {
type Assoc: B + ?Sized;
}
trait B {}
struct S {
a: Box<dyn A<Assoc = dyn B>>,
}
struct SA {}
struct SB {}
impl B for SB {}
impl A for SA {
type Assoc = SB;
}
fn f() {
let s = S { a: Box::new(SA {}) };
}
IL
a: Box<dyn A<Assoc = dyn B>>,
То есть, чтобы ассоциативный тип в контейнере как-то динамически диспатчился тоже.IL
r
a: Box<dyn A<Assoc = dyn B>>,
То есть, чтобы ассоциативный тип в контейнере как-то динамически диспатчился тоже.IL
IL
r
в🧇
в🧇
p
p