Skip to content

Rust

CodeWhisperer

Rust本の写経するときに、途中からCodeWhispererを有効にしてみた。

サンプルがGitHubに置いてあるからか、わりと的確な提案をしてくれてると思う。

ただ、VS Codeのサジェストと混ざったりでよくわからない確定の仕方をしたりすることがあった。

Rustのエラー

Amazon.co.jp: Webアプリ開発で学ぶ Rust言語入門 eBook : 佐藤昭文: 本を進めていて、解消できないエラーで詰まる。

149ページから導入されるValidateでエラー。

error: cannot find derive macro `Validate` in this scope
  --> src\repositories.rs:31:63
   |
31 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, Validate)]
   |                                                               ^^^^^^^^
   |
note: `Validate` is imported here, but it is only a trait, without a derive macro
  --> src\repositories.rs:8:5
   |
8  | use validator::Validate;
   |     ^^^^^^^^^^^^^^^^^^^

全然原因がわからず悩んでいたら、Cargo.tomlfeaturesのスペルが間違っていた。。

Read more

Rust再々々入門

Amazon.co.jp: Webアプリ開発で学ぶ Rust言語入門 eBook : 佐藤昭文: 本を見ながら。

上記の書籍はMacOSが前提で書かれているけど、Windowsでやっていく。

選択肢はとりあえず一番上のを選んで進んでいく。

  1. Quick install via the Visual Studio Community installer (free for individuals, academic uses, and open source).

Visual Studioのインストールもデフォルト選択肢から変更なしで。

  1. Proceed with installation (default)
$ rustc --version
rustc 1.69.0 (84c898d65 2023-04-16)

実践Rustプログラミング入門

unsafeの節を読んだ。

Rustでも安全でないコードを書くことができる。しかしそれを局所化しておくことが大事。

直近で必要になることはなさそう。

その他Tipsを読んで読了した。

自分にはRustより先に習得すべきものがある気がした。

実践Rustプログラミング入門

マクロの節を読んだ。

結構ボリュームがあった。

実行速度を上げるには実行時の関数呼び出しよりコンパイル時に展開したほうが良いのはわかる。

そこまで速度を気にしないといけないものを作る機会がないというのもあるけど、使いどころが今一つイメージできなかった。

他人の書いたコードを読み解く必要があるときに知っているとよい感じかなぁ。

Read more