Toggle navigation
Indice della sintassi
as
: cast dei tipi primitivi, o per disambiguare il tratto specifico contenente un elemento. Si veda cast fra tipi (as
) , forma con parentesi angolari , tipi associati .
break
: salta fuori dal ciclo. Si veda uscita precoce dai cicli .
const
: elementi costanti e puntatori grezzi costanti. Si veda [const
and static
], puntatori grezzi .
continue
: procedi alla prossima iterazione del ciclo. Si veda uscita precoce dai cicli .
crate
: link con un crate esterno. Si veda importare crate esterni .
else
: alternativa per i costrutti if
e if let
. Si veda if
, if let
.
enum
: definizione di un'enumerazione. Si veda enum .
extern
: crate, funzione, o variabile con link esterno. Si veda importare crate esterni , interfaccia alle funzioni straniere .
false
: letterale boolean falso. Si veda booleani .
fn
: definizione di funzione e tipo di puntatore a funzione. Si veda funzioni .
for
: ciclo su iteratore, parte della sintassi di impl
di un tratto, e sintassi dei tempi di vita di rango superiore. Si veda cicli for
, sintassi dei metodi .
if
: diramazione condizionale. Si veda if
, if let
.
impl
: blocco di implementazione di strutture o di tratti. Si veda sintassi dei metodi .
in
: parte della sintassi del ciclo for
. Si veda cicli for
.
let
: legame di variabile. Si veda legami di variabili .
loop
: ciclo infinite. Si veda cicli loop
.
match
: pattern matching. Si veda match .
mod
: dichiarazione di modulo. Si veda definire moduli .
move
: parte della sintassi di chiusura. Si veda chiusure move
.
mut
: denota mutabilità nei tipi puntatore e nei legami di pattern. Si veda mutabilità .
pub
: denota visibilità pubblica nei campi delle struct
, dei blocchi impl
, e dei moduli. Si veda [Crates and Modules (Exporting a Public Interface)].
ref
: legame per riferimento. Si veda [Patterns (ref
and ref mut
)].
return
: uscita precoce da funzione. Si veda uscita precoce dalle funzioni .
Self
: alias del tipo che si sta implementando. Si veda tratti .
self
: suggetto del metodo corrente. Si veda [chiamate di metodo].
static
: variabile globale. Si veda [const
and static
(static
)].
struct
: definizione di struttura. Si veda struct .
trait
: definizione di tratto. Si veda tratti .
true
: letterale boolean vero. Si veda booleani .
type
: alias di tipo, e definizione di tipo associato. Si veda type
, tipi associati .
unsafe
: denota codice, funzione, tratto, o implementazione non sicuro. Si veda Unsafe .
use
: importa simboli nell'ambito corrente. Si veda [Crates and Modules (Importing Modules with use
)].
where
: clausola di vincolo sul tipo generico. Si veda [clausola where
per i tratti)].
while
: ciclo condizionale. Si veda cicli while
.
!
(ident!(…)
, ident!{…}
, ident![…]
): denota una espansione di macro. Si veda macro .
!
(!expr
): complemento bit-a-bit o negazione logica. Sovraccaricabile (Not
).
!=
(var != expr
): diseguaglianza. Sovraccaricabile (PartialEq
).
%
(expr % expr
): resto aritmetico. Sovraccaricabile (Rem
).
%=
(var %= expr
): resto aritmetico e assegnmento. Sovraccaricabile (RemAssign
).
&
(expr & expr
): And bit-a-bit. Sovraccaricabile (BitAnd
).
&
(&expr
): prestito. Si veda [References and Borrowing].
&
(&type
, &mut type
, &'a type
, &'a mut type
): tipo di puntatore preso a prestito. Si veda riferimenti e prestiti .
&=
(var &= expr
): And bit-a-bit e assegnmento. Sovraccaricabile (BitAndAssign
).
&&
(expr && expr
): And logico.
*
(expr * expr
): Moltiplicazione aritmetica. Sovraccaricabile (Mul
).
*
(*expr
): dereferenziazione.
*
(*const type
, *mut type
): puntatore grezzo. Si veda [Raw Pointers].
*=
(var *= expr
): moltiplicazione aritmetica e assegnmento. Sovraccaricabile (MulAssign
).
+
(expr + expr
): addizione aritmetica. Sovraccaricabile (Add
).
+
(trait + trait
, 'a + trait
): vincolo composto su tipo. Si veda legami a tratti multipli .
+=
(var += expr
): addizion aritmetica e assegnmento. Sovraccaricabile (AddAssign
).
,
: separatore di argomenti e di elementi. Si veda attributi , funzioni , struct , generici , match , chiusure , importare moduli usando use
) .
-
(expr - expr
): sottrazione aritmetica. Sovraccaricabile (Sub
).
-
(- expr
): negazione aritmetica. Sovraccaricabile (Neg
).
-=
(var -= expr
): sottrazione aritmetica e assegnmento. Sovraccaricabile (SubAssign
).
->
(fn(…) -> type
, |…| -> type
): tipo reso da funzione o chiusura. Si veda [Functions], [Closures].
-> !
(fn(…) -> !
, |…| -> !
): funzione divergente o chiusura. Si veda [Diverging Functions].
.
(expr.ident
): accesso a membro. Si veda [Structs], [Method Syntax].
..
(..
, expr..
, ..expr
, expr..expr
): letterale di gamma esclusivo a destra.
..
(..expr
): struct literal update syntax. Si veda [Structs (Update syntax)].
..
(variant(x, ..)
, struct_type { x, .. }
): legame di pattern "tutto il resto". Si veda ignorare i legami .
...
(...expr
, expr...expr
) in un'espressione : espressione di gamma inclusiva. Si veda iteratori .
...
(expr...expr
) in un pattern : pattern di gamma inclusivo. Si veda gamme .
/
(expr / expr
): divisione aritmetica. Sovraccaricabile (Div
).
/=
(var /= expr
): division aritmetica e assegnmento. Sovraccaricabile (DivAssign
).
:
(pat: type
, ident: type
): vincoli. Si veda legami di variabili , funzioni , struct , tratti .
:
(ident: expr
): inizializzatore di campo di struct. Si veda struct .
:
('a: loop {…}
): etichetta di ciclo. Si veda [etichette di cicli].
;
: istruzione e terminatore di elemento.
;
([…; len]
): parte della sintassi di un array. Si veda array .
<<
(expr << expr
): scorrimento a sinistra. Sovraccaricabile (Shl
).
<<=
(var <<= expr
): scorrimento a sinistra e assegnmento. Sovraccaricabile (ShlAssign
).
<
(expr < expr
): meno di. Sovraccaricabile (PartialOrd
).
<=
(var <= expr
): meno di o uguale a. Sovraccaricabile (PartialOrd
).
=
(var = expr
, ident = type
): assegnamento/equivalenza. Si veda legami di variabili , type
, generic parameter defaults.
==
(var == expr
): uguaglianza. Sovraccaricabile (PartialEq
).
=>
(pat => expr
): parte della sintassi del braccio di match. Si veda Match .
>
(expr > expr
): maggiore di. Sovraccaricabile (PartialOrd
).
>=
(var >= expr
): maggiore di o uguale a. Sovraccaricabile (PartialOrd
).
>>
(expr >> expr
): scorrimento a destra. Sovraccaricabile (Shr
).
>>=
(var >>= expr
): scorrimento a destra e assegnmento. Sovraccaricabile (ShrAssign
).
@
(ident @ pat
): legame di pattern. Si veda [Patterns (Bindings)].
^
(expr ^ expr
): Xor bit-a-bit. Sovraccaricabile (BitXor
).
^=
(var ^= expr
): Xor bit-a-bit e assegnmento. Sovraccaricabile (BitXorAssign
).
|
(expr | expr
): Or bit-a-bit. Sovraccaricabile (BitOr
).
|
(pat | pat
): alternativa di un pattern. Si veda pattern multipli .
|
(|…| expr
): chiusura. Si veda [Closures].
|=
(var |= expr
): Or bit-a-bit e assegnmento. Sovraccaricabile (BitOrAssign
).
||
(expr || expr
): Or logico.
_
: legame di pattern "ignorato". Si veda ignorare i legami .
'ident
: tempo di vita con nome o etichetta di ciclo. Si veda [Lifetimes], [Loops (Loops Labels)].
…u8
, …i32
, …f64
, …usize
, …: letterale numerico di tipo specifico.
"…"
: letterali di stringa. Si veda [Strings].
r"…"
, r#"…"#
, r##"…"##
, …: letterali di stringa grezza, in cui i caratteri di escape non vengono elaborati. Si veda [Reference (Raw String Literals)].
b"…"
: letterale di stringa di byte, che costruisce un [u8]
invece di una stringa. Si veda [Reference (Byte String Literals)].
br"…"
, br#"…"#
, br##"…"##
, …: letterale di stringa di byte grezza, combinazione dei letterali di stringa di byte e grezzi. Si veda [Reference (Raw Byte String Literals)].
'…'
: letterale di carattere. Si veda char
.
b'…'
: letterale di byte ASCII.
|…| expr
: chiusura. Si veda chiusure .
ident::ident
: percorso. Si veda definire moduli .
::path
: percorso relativo alla radice del crate (cioè un percorso esplicitamente assoluto). Si veda [Crates and Modules (Re-exporting with pub use
)].
self::path
: percorso relativo al modulo corrente (cioè un percorso esplicitamente relativo). Si veda [Crates and Modules (Re-exporting with pub use
)].
super::path
: percorso relativo al genitore del modulo corrente. Si veda [Crates and Modules (Re-exporting with pub use
)].
type::ident
, <type as trait>::ident
: costanti, funzioni, e tipi associati. Si veda tipi associati .
<type>::…
: elementi associati per un tipo che non può essere nominato direttamente (per es. <&T>::…
, <[T]>::…
, ecc. ). Si veda tipi associati .
trait::method(…)
: disambiguare una chiamata di metodo nominando il tratto che lo definisce. Si veda sintassi universale di chiamata di funzione .
type::method(…)
: disambiguare una chiamata di metodo nominando il tipo per cui è definito. Si veda sintassi universale di chiamata di funzione .
<type as trait>::method(…)
: disambiguare una chiamata di metodo nominando il tratto e il tipo. Si veda forma con parentesi angolari .
path<…>
(e.g. Vec<u8>
): specifica i parametri a un tipo generico in un tipo . Si veda [Generics].
path::<…>
, method::<…>
(e.g. "42".parse::<i32>()
): specifica i parametri a un tipo, funzione, o metodo generico in un'espressione .
fn ident<…> …
: definisce una funzione generica. Si veda [Generics].
struct ident<…> …
: definisce una struttura generica. Si veda [Generics].
enum ident<…> …
: definisce un'enumerazione generica. Si veda [Generics].
impl<…> …
: definisce un'implementazione generica.
for<…> type
: limiti di tempo di vita di rango superiore.
type<ident=type>
(per es. Iterator<Item=T>
): un tipo generico dove uno o più tipi associati hanno assegnamenti specifici. Si veda tipi associati .
T: U
: parametro generico T
vincolatoa tipi che implementano U
. Si veda tratti .
T: 'a
: il tipo generico T
deve soppravvivere al tempo di vita 'a
. Quando diciamo che un tipo 'sopravvive' il tempo di vita, intendiamo che non può transitivamente contenere riferimenti con tempi di vita più brevi di 'a
.
T : 'static
: il tipo generico T
non contiene riferimenti presi in prestito eccetto quelli 'static
.
'b: 'a
: il tempo di vita generico 'b
deve sopravvivere 'a
.
T: ?Sized
: consenti al parametro di tipo generico di essere un tipo dimensionato dinamicamente. Si veda ?Sized
.
'a + trait
, trait + trait
: vincoli composito di tipo. Si veda legami a tratti multipli .
#[meta]
: attributo esterno. Si veda attributi .
#![meta]
: attributo interno. Si veda attributi .
$ident
: sostituzione di macro. Si veda macro .
$ident:kind
: cattura di macro. Si veda macro .
$(…)…
: ripetizione di macro. Si veda macro .
//
: commento di riga. Si veda commenti .
//!
: commento di documentazione di riga interno. Si veda commenti .
///
: commento di documentazione di riga esterno. Si veda commenti .
/*…*/
: commento di blocco. Si veda commenti .
/*!…*/
: commento di documentazione di blocco interno. Si veda commenti .
/**…*/
: commento di documentazione di blocco esterno. Si veda commenti .
()
: ennupla vuota (detta anche unità), sia come costante che come tipo.
(expr)
: espressione tra parentesi.
(expr,)
: espressione di ennupla di un solo elemento. Si veda ennuple .
(type,)
: tipo di ennupla di un solo elemento. Si veda ennuple .
(expr, …)
: espressione di ennupla. Si veda ennuple .
(type, …)
: tipo di ennupla. Si veda ennuple .
expr(expr, …)
: espressione di chiamata di funzione. Usata anche per inizializzare le varianti di strutture ennuple e di enumerazioni ennuple. Si veda [Functions].
ident!(…)
, ident!{…}
, ident![…]
: invocazione di macro. Si veda macro .
expr.0
, expr.1
, …: indicizzazione di ennupla. Si veda indicizzazione di ennuple .
{…}
: espressione di blocco.
Type {…}
: letterale di struct
. Si veda struct .
[…]
: letterale di array. Si veda array .
[expr; len]
: letterale di array contenente len
copie di expr
. Si veda array .
[type; len]
: tipo di array contenente len
istanze di type
. Si veda array .
expr[expr]
: indicizzazione di collezione. Sovraccaricabile (Index
, IndexMut
).
expr[..]
, expr[a..]
, expr[..b]
, expr[a..b]
: indicizzazione di collezione che fa finta di essere un'affettatura di collezione, usando Range
, RangeFrom
, RangeTo
, RangeFull
come "indice".