Rustで定数式を扱う
by
Kazumasa Yamamoto
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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
ありがとうございました