as
break
const
static
continue
crate
else
if
if let
enum
extern
false
fn
for
impl
in
let
loop
match
mod
move
mut
pub
struct
ref
ref mut
return
Self
self
trait
true
type
unsafe
use
where
while
!
ident!(…)
ident!{…}
ident![…]
!expr
Not
!=
var != expr
PartialEq
%
expr % expr
Rem
%=
var %= expr
&
expr & expr
BitAnd
&expr
&type
&mut type
&'a type
&'a mut type
&=
var &= expr
&&
expr && expr
*
expr * expr
Mul
*expr
*const type
*mut type
*=
var *= expr
+
expr + expr
Add
trait + trait
'a + trait
+=
var += expr
,
-
expr - expr
Sub
- expr
Neg
-=
var -= expr
->
fn(…) -> type
|…| -> type
-> !
fn(…) -> !
|…| -> !
.
expr.ident
..
expr..
..expr
expr..expr
variant(x, ..)
struct_type { x, .. }
...
expr ... expr
/
expr / expr
Div
/=
var /= expr
:
pat: type
ident: type
ident: expr
'a: loop {…}
;
[…; len]
<<
expr << expr
Shl
<<=
var <<= expr
<
expr < expr
PartialOrd
<=
var <= expr
=
var = expr
ident = type
==
var == expr
=>
pat => expr
>
expr > expr
>=
var >= expr
>>
expr >> expr
Shr
>>=
var >>= expr
@
ident @ pat
^
expr ^ expr
BitXor
^=
var ^= expr
|
expr | expr
BitOr
pat | pat
|…| expr
|=
var |= expr
||
expr || expr
_
'ident
…u8
…i32
…f64
…usize
"…"
r"…"
r#"…"#
r##"…"##
b"…"
[u8]
br"…"
br#"…"#
br##"…"##
'…'
char
b'…'
ident::ident
::path
pub use
self::path
super::path
type::ident
<type>::…
<&T>::…
<[T]>::…
path<…>
Vec<u8>
path::<…>
method::<…>
"42".parse::<i32>()
fn ident<…> …
struct ident<…> …
enum ident<…> …
impl<…> …
for<…> type
type<ident=type>
Iterator<Item=T>
T: U
T
U
T: 'a
'a
'b: 'a
'b
T: ?Sized
#[meta]
#![meta]
$ident
$ident:kind
$(…)…
//
//!
///
/*…*/
/*!…*/
/**…*/
()
(expr)
(expr,)
(type,)
(expr, …)
(type, …)
expr(expr, …)
expr.0
expr.1
{…}
Type {…}
[…]
[expr; len]
expr
len
[type; len]
expr[expr]
Index
IndexMut
expr[..]
expr[a..]
expr[..b]
expr[a..b]
Range
RangeFrom
RangeTo
RangeFull
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8