所有権はもちろんなのだけど、他の部分でも私は割とつまづきがちだ。
* 型強制:例えばrcの型がRc<RefCell<T>>の時、rcから直接RefCellのメソッド、例えばrc.borrow_mut()が呼べるのは、Rc<T>がDeref<T>を実装しているから。こういう型強制の仕組みがあっちこっちにあって当たり前に使われる。
* Trait:原則としてuseしないとその型が実装してるtraitが見えないので、LSPに頼ってメソッド探すと見つからないし、公式ドキュメントでもimpl Trait以下が畳まれててすぐに気づかないこともある
* 関連型とジェネリクス:これはそもそも違うものなので慣れればわかっていくだろうけれど、一見似ている。
* ref, &, mutの位置と意味
もうちょっとがっつり使えば、こういうのはクリアして、また新たなところでつまづくんだろうと思っている。はやく次の段階に進みたい。
* 型強制:例えばrcの型がRc<RefCell<T>>の時、rcから直接RefCellのメソッド、例えばrc.borrow_mut()が呼べるのは、Rc<T>がDeref<T>を実装しているから。こういう型強制の仕組みがあっちこっちにあって当たり前に使われる。
* Trait:原則としてuseしないとその型が実装してるtraitが見えないので、LSPに頼ってメソッド探すと見つからないし、公式ドキュメントでもimpl Trait以下が畳まれててすぐに気づかないこともある
* 関連型とジェネリクス:これはそもそも違うものなので慣れればわかっていくだろうけれど、一見似ている。
* ref, &, mutの位置と意味
もうちょっとがっつり使えば、こういうのはクリアして、また新たなところでつまづくんだろうと思っている。はやく次の段階に進みたい。