Eine einfache Möglichkeit, die Art der etwas zu testen, ist es auf die falsche Art zuzuordnen:
let _:() = a;
„integraler Variable“ oder eine durch-Wert der Wert ist eine ganze Zahl in diesem Fall. Es ist nicht veränderbar (wie das Testen mit a += 1
zeigt).
Dies ist, weil Sie Destrukturierungssyntax verwenden. Sie sind Muster Ihre &mut 5
gegen einen &mut _
passend, wie viel, wenn Sie
match &mut 5 { &mut a => {
// rest of code
} };
schrieb So sind Sie eine veränderbare Referenz hinzugefügt und sofort dereferencing es.
auf einen veränderbaren Verweis auf einen Wert zu binden stattdessen Sie
let ref mut a = 5;
Dies ist nützlich in Destrukturierung tun können Verweise auf mehr inneren Werte zu nehmen.
Danke! Ich habe die Möglichkeit vergessen, die destruktive Syntax in Let Bindings zu verwenden –