他の構造体 (私が定義していない) への参照を含むフィールドを持つ構造体があります。
struct HtmlHandlebars {
user_helpers: Vec<(String, Box<HelperDef + 'static>)>,
}
そしてHtmlHandlebars
、機能を実装する必要があります
fn render(&self, ...) -> &self
そして、その関数では、Box
を別の関数に移動する必要があります。このようなもの:
fn render(&self, ...) -> &self {
let mut handlebars = Handlebars::new();
for (name, helper) in self.user_helpers {
handlebars.register_helper(&name, helper);
}
}
しかし、私はちょっと立ち往生しています:
- 借用しているため、Box 参照を移動できません
self
- その構造体はコピーを実装していないため、ボックス参照をコピーできません
- 他の問題を引き起こすため、
&self
変更できません...&mut self
多分私はそれを完全に間違っています..他にできることはありますか?私のオプションは何ですか?
コードのより完全な概要が必要な場合は、ここで見つけることができます
PS:タイトルで状況を説明する方法がわかりませんでした。自由に変更してください。