Rustの演算子優先順位表
載っているサイトがいまいち見つからなかったので、プログラミングRustから引用する。 上ほど優先順位が高い。
| 名前 | 例 |
|---|---|
| タプル/構造体フィールドアクセス、メソッド呼び出し、関数呼び出し、インデックス | point.x, point.m(), stdin(), arr[0] |
| エラーチェック | create_dir("tmp")? |
| not, 単項マイナス、参照解決、借用 | !ok, -num, *ptr, &val |
| 型キャスト | x as u32 |
| 掛け算、割り算、余り | n*2, n/2, n%2 |
| 足し算、引き算 | n-2, n+2 |
| シフト | n << 1, n >> 1 |
| bit and | n & 1 |
| bit xor | n ^ 1 |
| bit or | n | 1 |
| 不等号、等号 | n < 1, n <= 1, n > 1, n >= 1, n == 1, n != 1 |
| and | x.ok && y.ok |
| or | x.ok || backup.ok |
| 範囲 | start..stop |
| 代入 | x = val, x *= 1, x /= 1, x %= 1, x += 1, x -= 1, x <<= 1, x >>= 1, x &= 1, x ^= 1, x |= 1 |
| クロージャ | |x, y| x + y |