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

roadmap to rust 2024

roadmap to rust 2024

Kentaro Matsumoto

May 14, 2022
Tweet

More Decks by Kentaro Matsumoto

Other Decks in Programming

Transcript

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

    View full-size slide

  2. 2
    • @matsu7874
    • SWE@estie
    • オフィス不動産領域のSaaS
    • 新しいプロダクトをRustで開発しています
    • 『実践Rustプログラミング入門』共著
    • TechFeed Official Expert(Rust)
    自己紹介: @matsu7874

    View full-size slide

  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で書かれたクレートも最新のコンパイラでコンパイル可能

    View full-size slide

  4. 4
    • Rust 2015: 安定性
    • 最初の安定版リリース
    • Rust 2018: 生産性
    • dyn Trait構文の導入
    • extern crateの削除
    • Rust 2021: 一貫性
    • TryInto, TryFrom, FromIteratorトレイトのPreludeへの追加
    • 今はこれが最新
    • Rust 2024: エンパワーメントの拡大(scaling empowerment)
    edition: テーマがある

    View full-size slide

  5. 5
    1. 学習しやすくする: Flatten the (learning) curve
    2. ライブラリ作成者を支援する: Help users help each other
    3. Rustに貢献しやすくする: Help the Rust project scale
    Rust2024の注力ポイント: エンパワーメントの拡大(scaling empowerment)とは?

    View full-size slide

  6. 6
    1. より正確な分析を行い、ボイラーテンプレートを減らす
    2. いくつかの糖衣構文を追加する
    3. 非同期(async)周りの改善
    4. dyn Traitを使いやすくする
    1. 学習しやすくする: Flatten the (learning) curve

    View full-size slide

  7. 7
    推論が強化されて省略できたり、新しいlet-else構文が追加されたりします
    https://github.com/rust-lang/rust/pull/93628

    View full-size slide

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

    View full-size slide

  9. 9
    1. 機能のライフサイクルを管理しやすくする
    • RFC 3240: 標準化時の名前衝突を回避
    2. より豊富な抽象化
    3. 開発者体験のカスタム
    • エラーメッセージとかLinterのカスタマイズとか
    4. 相互運用性
    • エコシステム依存を減らすために存在型が拡張される予定
    2. ライブラリ作成者を支援する: Help users help each other

    View full-size slide

  10. 10
    より豊富な抽象化: impl Traitのtype aliasや非同期関数をtraitの中で定義できるようになる見通し

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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を
    紹介するイベントです。

    View full-size slide