私は形質Foo
と構造Bar
を持っています。 Bar
は、を実装する任意の参照を保持するVec
フィールドを持ちます。`self`をコレクションに変更可能な形質参照として追加するメソッドを書く方法は?
trait Foo { }
struct Bar<'a> {
handlers: Vec<&'a mut Foo>,
}
私はFoo
を実装して、別の構造体Stu
を持っている、とbar
に自分自身を追加する方法add
を持っています。
struct Stu { }
impl Foo for Stu { }
impl Stu {
fn add(&mut self, bar: &mut Bar) {
bar.handlers.push(&mut self);
}
}
Foo
を実装し、add
方法に仕上がっ行動が多様であり、私は(ここBar
である)、それらのすべてを保持している構造体を必要とする構造体の多くの種類がありますので、私は上記のコードを書きました。しかし、コンパイラは文句:
&mut Stu: Foo
をバインド形質が満たされていない
は、どのように私はこの問題を解決するか、自分の所望の最終目標を実現することができますか?