Upgrade to Pro — share decks privately, control downloads, hide ads and more …

roadmap to rust 2024

roadmap to rust 2024

F0493f5bcb4cc9fdccc54ae3e8ab6bd0?s=128

Kentaro Matsumoto

May 14, 2022
Tweet

More Decks by Kentaro Matsumoto

Other Decks in Programming

Transcript

  1. Rust 2024 に向けて Rust 2021 を理解しよう @matsu7874 1

  2. 2 • @matsu7874 • SWE@estie • オフィス不動産領域のSaaS • 新しいプロダクトをRustで開発しています •

    『実践Rustプログラミング入門』共著 • TechFeed Official Expert(Rust) 自己紹介: @matsu7874
  3. 3 edition: 後方互換性を保ちつつ破壊的な変更を入れる仕組み rustc 1.60.0 (7737e0b5c 2022-04-04) Edition 2021 クレートMain

    Edition 2015 クレートA Edition 2018 クレートB Edition 2021 クレートC どのeditionで書かれた クレートも参照可能 どのeditionで書かれたクレートも最新のコンパイラでコンパイル可能
  4. 4 • Rust 2015: 安定性 • 最初の安定版リリース • Rust 2018:

    生産性 • dyn Trait構文の導入 • extern crateの削除 • Rust 2021: 一貫性 • TryInto, TryFrom, FromIteratorトレイトのPreludeへの追加 • 今はこれが最新 • Rust 2024: エンパワーメントの拡大(scaling empowerment) edition: テーマがある
  5. 5 1. 学習しやすくする: Flatten the (learning) curve 2. ライブラリ作成者を支援する: Help

    users help each other 3. Rustに貢献しやすくする: Help the Rust project scale Rust2024の注力ポイント: エンパワーメントの拡大(scaling empowerment)とは?
  6. 6 1. より正確な分析を行い、ボイラーテンプレートを減らす 2. いくつかの糖衣構文を追加する 3. 非同期(async)周りの改善 4. dyn Traitを使いやすくする

    1. 学習しやすくする: Flatten the (learning) curve
  7. 7 推論が強化されて省略できたり、新しいlet-else構文が追加されたりします https://github.com/rust-lang/rust/pull/93628

  8. 非同期周りの話は次のセッションをチェック! https://keens.github.io/pdf/tfcon.pdf

  9. 9 1. 機能のライフサイクルを管理しやすくする • RFC 3240: 標準化時の名前衝突を回避 2. より豊富な抽象化 3.

    開発者体験のカスタム • エラーメッセージとかLinterのカスタマイズとか 4. 相互運用性 • エコシステム依存を減らすために存在型が拡張される予定 2. ライブラリ作成者を支援する: Help users help each other
  10. 10 より豊富な抽象化: impl Traitのtype aliasや非同期関数をtraitの中で定義できるようになる見通し

  11. 11 1. 文書化し、状態を一覧できるようにする 2. オーナーを明確にし、必要な部分で密なコミュニケーションをおこなう 3. オープンなプロセスをツールを効率的に使って改善 3. Rustに貢献しやすくする: Help

    the Rust project scale
  12. 12 ダッシュボードを公開して見やすくしている

  13. 13 1. https://doc.rust-lang.org/edition-guide/editions/index.html 2. https://lang-team.rust-lang.org/roadmaps/roadmap- 2024.html 参考資料と宣伝 来週5/19開催 実務でRustを使うなかでのTipsを 紹介するイベントです。