Rustで定数式を扱う
by
Kazumasa Yamamoto
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Rustで定数式を扱う ユニークビジョン株式会社 山本 一将
Slide 2
Slide 2 text
自己紹介 2 ⚫ 名前:山本 一将(@kyamamoto9120) ⚫ 所属:ユニークビジョン株式会社 ⚫ 言語:C++, Rust, Python, Ruby ⚫ 趣味:将棋、キャンプ、DIY、野球観戦 ⚫ 実績:2015年 世界コンピュータ将棋選手権9位
Slide 3
Slide 3 text
アジェンダ 3 ① 定数式とは何か ② Rustの定数式の状況 ③ 簡単な使用方法(フィボナッチ数列を例に)
Slide 4
Slide 4 text
定数式とは 4 • コンパイル時に評価可能な式のこと • Rustでは const fn で始まる関数が定数式となる
Slide 5
Slide 5 text
Rustにおける定数式 5 ① 1.31.0から導入 • ローカル変数が使えない • ループ文、制御文が使えない • 引数を&mutにできない ② 1.46.0までに徐々に制限緩和 • ローカル変数が使える! • matchやwhileが使える!
Slide 6
Slide 6 text
現時点での制限 6 ① for文は使えない ② 評価できる式の深さに制限がある
Slide 7
Slide 7 text
まとめ 7 ⚫ 制限が一部緩和されたがまだまだ実用レベルではない • 自由度はまだC++14のconstexprにも届かない • 標準ライブラリの対応もまだまだ ⚫ 当面はlazy_static!を使用した方が幸せ ⚫ それでも1.46.0での制限緩和は希望がある!
Slide 8
Slide 8 text
ありがとうございました