Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
roadmap to rust 2024
Search
Kentaro Matsumoto
May 14, 2022
Programming
0
2k
roadmap to rust 2024
Kentaro Matsumoto
May 14, 2022
Tweet
Share
More Decks by Kentaro Matsumoto
See All by Kentaro Matsumoto
Marpを使って登壇資料を作る
matsu7874
0
360
Generate a rust client code by OpenAPI Generator
matsu7874
0
290
ざっと理解するRust 2024 Edition
matsu7874
0
600
プリントデバッグを失敗させないテクニック
matsu7874
1
290
社外を巻き込んだ勉強会を定期開催するコツ
matsu7874
0
160
actix-webを使った開発のハマリポイントを避けたい
matsu7874
0
990
our test strategy on actix-web app
matsu7874
0
1.4k
Rust tutorial for Pythonista
matsu7874
2
1.2k
Mock testing with mockall
matsu7874
0
330
Other Decks in Programming
See All in Programming
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
Zoneless Testing
rainerhahnekamp
0
120
情報漏洩させないための設計
kubotak
1
130
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
470
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
380
Featured
See All Featured
Faster Mobile Websites
deanohume
305
30k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Fireside Chat
paigeccino
34
3.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Building Your Own Lightsaber
phodgson
103
6.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Designing for humans not robots
tammielis
250
25k
Transcript
Rust 2024 に向けて Rust 2021 を理解しよう @matsu7874 1
2 • @matsu7874 • SWE@estie • オフィス不動産領域のSaaS • 新しいプロダクトをRustで開発しています •
『実践Rustプログラミング入門』共著 • TechFeed Official Expert(Rust) 自己紹介: @matsu7874
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 • Rust 2015: 安定性 • 最初の安定版リリース • Rust 2018:
生産性 • dyn Trait構文の導入 • extern crateの削除 • Rust 2021: 一貫性 • TryInto, TryFrom, FromIteratorトレイトのPreludeへの追加 • 今はこれが最新 • Rust 2024: エンパワーメントの拡大(scaling empowerment) edition: テーマがある
5 1. 学習しやすくする: Flatten the (learning) curve 2. ライブラリ作成者を支援する: Help
users help each other 3. Rustに貢献しやすくする: Help the Rust project scale Rust2024の注力ポイント: エンパワーメントの拡大(scaling empowerment)とは?
6 1. より正確な分析を行い、ボイラーテンプレートを減らす 2. いくつかの糖衣構文を追加する 3. 非同期(async)周りの改善 4. dyn Traitを使いやすくする
1. 学習しやすくする: Flatten the (learning) curve
7 推論が強化されて省略できたり、新しいlet-else構文が追加されたりします https://github.com/rust-lang/rust/pull/93628
非同期周りの話は次のセッションをチェック! https://keens.github.io/pdf/tfcon.pdf
9 1. 機能のライフサイクルを管理しやすくする • RFC 3240: 標準化時の名前衝突を回避 2. より豊富な抽象化 3.
開発者体験のカスタム • エラーメッセージとかLinterのカスタマイズとか 4. 相互運用性 • エコシステム依存を減らすために存在型が拡張される予定 2. ライブラリ作成者を支援する: Help users help each other
10 より豊富な抽象化: impl Traitのtype aliasや非同期関数をtraitの中で定義できるようになる見通し
11 1. 文書化し、状態を一覧できるようにする 2. オーナーを明確にし、必要な部分で密なコミュニケーションをおこなう 3. オープンなプロセスをツールを効率的に使って改善 3. Rustに貢献しやすくする: Help
the Rust project scale
12 ダッシュボードを公開して見やすくしている
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を 紹介するイベントです。