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
Rustで定数式を扱う
Search
Kazumasa Yamamoto
October 27, 2020
Programming
460
0
Share
Rustで定数式を扱う
Kazumasa Yamamoto
October 27, 2020
More Decks by Kazumasa Yamamoto
See All by Kazumasa Yamamoto
ユニークビジョンの Rust 活用事例
fill9120
2
1.8k
Rust & AWS X-Ray による分散トレーシングの実現
fill9120
0
2.9k
Rust製プロダクトを 3年以上運用して得たノウハウ
fill9120
0
1.1k
Messaging APIを駆使した ChatGPT ボットのUX改善
fill9120
0
390
Rust を開発言語として採用してからの取り組み
fill9120
1
1.9k
ストラクチャードコミュニケーション
fill9120
0
140
Cloudflare PagesにVue.jsアプリをデプロイしてみた
fill9120
0
1.1k
Rustでディープラーニング
fill9120
0
450
LINE BotとLIFFを使って謎解きアプリを作った話
fill9120
0
740
Other Decks in Programming
See All in Programming
OSもどきOS
arkw
0
260
[BalkanRuby 2026] Drop your app/services!
palkan
3
710
色即是空、空即是色、データサイエンス
kamoneggi
1
200
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
3.5k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
460
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
120
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
430
3Dシーンの圧縮
fadis
1
440
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
340
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
420
ふつうのFeature Flag実践入門
irof
6
3.2k
Moments When Things Go Wrong
aurimas
3
120
Featured
See All Featured
A Soul's Torment
seathinner
6
2.8k
The SEO Collaboration Effect
kristinabergwall1
1
460
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Bash Introduction
62gerente
615
210k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Agile that works and the tools we love
rasmusluckow
331
21k
How to build a perfect <img>
jonoalderson
1
5.5k
Optimizing for Happiness
mojombo
378
71k
Believing is Seeing
oripsolob
1
130
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Transcript
Rustで定数式を扱う ユニークビジョン株式会社 山本 一将
自己紹介 2 ⚫ 名前:山本 一将(@kyamamoto9120) ⚫ 所属:ユニークビジョン株式会社 ⚫ 言語:C++, Rust,
Python, Ruby ⚫ 趣味:将棋、キャンプ、DIY、野球観戦 ⚫ 実績:2015年 世界コンピュータ将棋選手権9位
アジェンダ 3 ① 定数式とは何か ② Rustの定数式の状況 ③ 簡単な使用方法(フィボナッチ数列を例に)
定数式とは 4 • コンパイル時に評価可能な式のこと • Rustでは const fn で始まる関数が定数式となる
Rustにおける定数式 5 ① 1.31.0から導入 • ローカル変数が使えない • ループ文、制御文が使えない • 引数を&mutにできない
② 1.46.0までに徐々に制限緩和 • ローカル変数が使える! • matchやwhileが使える!
現時点での制限 6 ① for文は使えない ② 評価できる式の深さに制限がある
まとめ 7 ⚫ 制限が一部緩和されたがまだまだ実用レベルではない • 自由度はまだC++14のconstexprにも届かない • 標準ライブラリの対応もまだまだ ⚫ 当面はlazy_static!を使用した方が幸せ
⚫ それでも1.46.0での制限緩和は希望がある!
ありがとうございました