ブックマーク / zenn.dev/toru3 (2)

  • Rustにおけるスレッド間でのデータ共有とstd::thread::scope

    TL;DR 基的には std::thread::spawn よりもRust 1.63で安定化された std::thread::scope を使う方が良いと思います。 threadの寿命はstatic #[derive(Debug, Clone)] struct SharedData { x: i32, } impl SharedData { fn new(x: i32) -> Self { Self { x } } } fn main() { use std::thread; let data = SharedData::new(42); let jh = thread::spawn(|| { println!("spawned {:?}", data); }); jh.join(); } error[E0373]: closure may outlive the current fun

    Rustにおけるスレッド間でのデータ共有とstd::thread::scope
    toshikish
    toshikish 2022/07/29
  • Rust開発時の便利ツールたち

    前書き Rustを書くときに便利なツールをまとめた記事が無い気がしたので作成。(ちゃんと探してないので既にあるかも) 公式ツール cargo パッケージマネージャ 基だけどとても便利なツール 一度はThe Cargo Bookを読んでおくことを推奨。 rustfmt フォーマッター cargo fmt でもフォーマットの修正が出来る。(こっちを使うことが多い) clippy lintツール こう書いたほうが良いよという提案もしてくれるので便利。 cargo clippy --fix を使うと自動で直してくれる。 rust-analyzer Language Server rls もあるが、(最近は?) rust-analyzer の方がメジャーな気がする。 追記 : RLSは非推奨になりました。RLS Deprecation 非公式ツール cargo-watch ソースコードの変更を検知

    Rust開発時の便利ツールたち
    toshikish
    toshikish 2021/09/29
  • 1