|
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].
|
|
68 | 68 | * `..` (`variant(x, ..)`, `struct_type { x, .. }`): "and the rest" pattern binding. See [Patterns (Ignoring bindings)].
|
69 | 69 | * `...` (`expr ... expr`): inclusive range pattern. See [Patterns (Ranges)].
|
70 | 70 | * `/` (`expr / expr`): arithmetic division. Overloadable (`Div`).
|
71 |
| -* `/=` (`var /= expr`): arithmetic division & assignment. |
| 71 | +* `/=` (`var /= expr`): arithmetic division & assignment. Overloadable (`DivAssign`). |
72 | 72 | * `:` (`pat: type`, `ident: type`): constraints. See [Variable Bindings], [Functions], [Structs], [Traits].
|
73 | 73 | * `:` (`ident: expr`): struct field initializer. See [Structs].
|
74 | 74 | * `:` (`'a: loop {…}`): loop label. See [Loops (Loops Labels)].
|
75 | 75 | * `;`: statement and item terminator.
|
76 | 76 | * `;` (`[…; len]`): part of fixed-size array syntax. See [Primitive Types (Arrays)].
|
77 | 77 | * `<<` (`expr << expr`): left-shift. Overloadable (`Shl`).
|
78 |
| -* `<<=` (`var <<= expr`): left-shift & assignment. |
| 78 | +* `<<=` (`var <<= expr`): left-shift & assignment. Overloadable (`ShlAssign`). |
79 | 79 | * `<` (`expr < expr`): less-than comparison. Overloadable (`PartialOrd`).
|
80 | 80 | * `<=` (`var <= expr`): less-than or equal-to comparison. Overloadable (`PartialOrd`).
|
81 | 81 | * `=` (`var = expr`, `ident = type`): assignment/equivalence. See [Variable Bindings], [`type` Aliases], generic parameter defaults.
|
|
84 | 84 | * `>` (`expr > expr`): greater-than comparison. Overloadable (`PartialOrd`).
|
85 | 85 | * `>=` (`var >= expr`): greater-than or equal-to comparison. Overloadable (`PartialOrd`).
|
86 | 86 | * `>>` (`expr >> expr`): right-shift. Overloadable (`Shr`).
|
87 |
| -* `>>=` (`var >>= expr`): right-shift & assignment. |
| 87 | +* `>>=` (`var >>= expr`): right-shift & assignment. Overloadable (`ShrAssign`). |
88 | 88 | * `@` (`ident @ pat`): pattern binding. See [Patterns (Bindings)].
|
89 | 89 | * `^` (`expr ^ expr`): bitwise exclusive or. Overloadable (`BitXor`).
|
90 |
| -* `^=` (`var ^= expr`): bitwise exclusive or & assignment. |
| 90 | +* `^=` (`var ^= expr`): bitwise exclusive or & assignment. Overloadable (`BitXorAssign`). |
91 | 91 | * `|` (`expr | expr`): bitwise or. Overloadable (`BitOr`).
|
92 | 92 | * `|` (`pat | pat`): pattern alternatives. See [Patterns (Multiple patterns)].
|
93 | 93 | * `|` (`|…| expr`): closures. See [Closures].
|
94 |
| -* `|=` (`var |= expr`): bitwise or & assignment. |
| 94 | +* `|=` (`var |= expr`): bitwise or & assignment. Overloadable (`BitOrAssign`). |
95 | 95 | * `||` (`expr || expr`): logical or.
|
96 | 96 | * `_`: "ignored" pattern binding. See [Patterns (Ignoring bindings)].
|
97 | 97 |
|
|
0 commit comments