Un modo semplice per verificare il tipo di qualcosa è da assegnare al tipo sbagliato:
let _:() = a;
In questo caso il valore è "variabile integrale", oppure un numero intero per valore. Non è mutabile (come test con gli spettacoli a += 1
).
Questo perché si utilizza la sintassi di destrutturazione . Stai modello combinato disposto con la &mut 5
contro un &mut _
, proprio come se hai scritto
match &mut 5 { &mut a => {
// rest of code
} };
Così si sta aggiungendo un riferimento mutevole e subito dereferenziazione esso.
Per associare un riferimento mutabile a un valore, invece, si può fare
let ref mut a = 5;
Questo è utile in destrutturazione di prendere riferimenti a più valori interiori.
Grazie! Ho dimenticato la possibilità di utilizzare la sintassi distruttiva in let binding –