|
43 | 43 | * `!` (`!expr`): bitwise or logical complement. Overloadable (`Not`).
|
44 | 44 | * `!=` (`var != expr`): nonequality comparison. Overloadable (`PartialEq`).
|
45 | 45 | * `%` (`expr % expr`): arithmetic remainder. Overloadable (`Rem`).
|
46 |
| -* `%=` (`var %= expr`): arithmetic remainder & assignment. |
| 46 | +* `%=` (`var %= expr`): arithmetic remainder & assignment. Overloadable (`RemAssign`). |
47 | 47 | * `&` (`expr & expr`): bitwise and. Overloadable (`BitAnd`).
|
48 | 48 | * `&` (`&expr`): borrow. See [References and Borrowing].
|
49 | 49 | * `&` (`&type`, `&mut type`, `&'a type`, `&'a mut type`): borrowed pointer type. See [References and Borrowing].
|
50 |
| -* `&=` (`var &= expr`): bitwise and & assignment. |
| 50 | +* `&=` (`var &= expr`): bitwise and & assignment. Overloadable (`BitAndAssign`). |
51 | 51 | * `&&` (`expr && expr`): logical and.
|
52 | 52 | * `*` (`expr * expr`): arithmetic multiplication. Overloadable (`Mul`).
|
53 | 53 | * `*` (`*expr`): dereference.
|
54 | 54 | * `*` (`*const type`, `*mut type`): raw pointer. See [Raw Pointers].
|
55 |
| -* `*=` (`var *= expr`): arithmetic multiplication & assignment. |
| 55 | +* `*=` (`var *= expr`): arithmetic multiplication & assignment. Overloadable (`MulAssign`). |
56 | 56 | * `+` (`expr + expr`): arithmetic addition. Overloadable (`Add`).
|
57 | 57 | * `+` (`trait + trait`, `'a + trait`): compound type constraint. See [Traits (Multiple Trait Bounds)].
|
58 |
| -* `+=` (`var += expr`): arithmetic addition & assignment. |
| 58 | +* `+=` (`var += expr`): arithmetic addition & assignment. Overloadable (`AddAssign`). |
59 | 59 | * `,`: argument and element separator. See [Attributes], [Functions], [Structs], [Generics], [Match], [Closures], [Crates and Modules (Importing Modules with `use`)].
|
60 | 60 | * `-` (`expr - expr`): arithmetic subtraction. Overloadable (`Sub`).
|
61 | 61 | * `-` (`- expr`): arithmetic negation. Overloadable (`Neg`).
|
62 |
| -* `-=` (`var -= expr`): arithmetic subtraction & assignment. |
| 62 | +* `-=` (`var -= expr`): arithmetic subtraction & assignment. Overloadable (`SubAssign`). |
63 | 63 | * `->` (`fn(…) -> type`, `|…| -> type`): function and closure return type. See [Functions], [Closures].
|
64 | 64 | * `-> !` (`fn(…) -> !`, `|…| -> !`): diverging function or closure. See [Diverging Functions].
|
65 | 65 | * `.` (`expr.ident`): member access. See [Structs], [Method Syntax].
|
|
69 | 69 | * `...` (`...expr`, `expr...expr`) *in an expression*: inclusive range expression. See [Iterators].
|
70 | 70 | * `...` (`expr...expr`) *in a pattern*: inclusive range pattern. See [Patterns (Ranges)].
|
71 | 71 | * `/` (`expr / expr`): arithmetic division. Overloadable (`Div`).
|
72 |
| -* `/=` (`var /= expr`): arithmetic division & assignment. |
| 72 | +* `/=` (`var /= expr`): arithmetic division & assignment. Overloadable (`DivAssign`). |
73 | 73 | * `:` (`pat: type`, `ident: type`): constraints. See [Variable Bindings], [Functions], [Structs], [Traits].
|
74 | 74 | * `:` (`ident: expr`): struct field initializer. See [Structs].
|
75 | 75 | * `:` (`'a: loop {…}`): loop label. See [Loops (Loops Labels)].
|
76 | 76 | * `;`: statement and item terminator.
|
77 | 77 | * `;` (`[…; len]`): part of fixed-size array syntax. See [Primitive Types (Arrays)].
|
78 | 78 | * `<<` (`expr << expr`): left-shift. Overloadable (`Shl`).
|
79 |
| -* `<<=` (`var <<= expr`): left-shift & assignment. |
| 79 | +* `<<=` (`var <<= expr`): left-shift & assignment. Overloadable (`ShlAssign`). |
80 | 80 | * `<` (`expr < expr`): less-than comparison. Overloadable (`PartialOrd`).
|
81 | 81 | * `<=` (`var <= expr`): less-than or equal-to comparison. Overloadable (`PartialOrd`).
|
82 | 82 | * `=` (`var = expr`, `ident = type`): assignment/equivalence. See [Variable Bindings], [`type` Aliases], generic parameter defaults.
|
|
85 | 85 | * `>` (`expr > expr`): greater-than comparison. Overloadable (`PartialOrd`).
|
86 | 86 | * `>=` (`var >= expr`): greater-than or equal-to comparison. Overloadable (`PartialOrd`).
|
87 | 87 | * `>>` (`expr >> expr`): right-shift. Overloadable (`Shr`).
|
88 |
| -* `>>=` (`var >>= expr`): right-shift & assignment. |
| 88 | +* `>>=` (`var >>= expr`): right-shift & assignment. Overloadable (`ShrAssign`). |
89 | 89 | * `@` (`ident @ pat`): pattern binding. See [Patterns (Bindings)].
|
90 | 90 | * `^` (`expr ^ expr`): bitwise exclusive or. Overloadable (`BitXor`).
|
91 |
| -* `^=` (`var ^= expr`): bitwise exclusive or & assignment. |
| 91 | +* `^=` (`var ^= expr`): bitwise exclusive or & assignment. Overloadable (`BitXorAssign`). |
92 | 92 | * `|` (`expr | expr`): bitwise or. Overloadable (`BitOr`).
|
93 | 93 | * `|` (`pat | pat`): pattern alternatives. See [Patterns (Multiple patterns)].
|
94 | 94 | * `|` (`|…| expr`): closures. See [Closures].
|
95 |
| -* `|=` (`var |= expr`): bitwise or & assignment. |
| 95 | +* `|=` (`var |= expr`): bitwise or & assignment. Overloadable (`BitOrAssign`). |
96 | 96 | * `||` (`expr || expr`): logical or.
|
97 | 97 | * `_`: "ignored" pattern binding. See [Patterns (Ignoring bindings)].
|
98 | 98 |
|
|
0 commit comments