Diverse volte ho usato la sintassi sbagliata, come dimenticare di utilizzare let
in questo esempio:Che cos'è l'attribuzione del tipo?
let closure_annotated = |value: i32| -> i32 {
temp: i32 = fun(5i32); //<-- Error
temp + value + 1
};
error: type ascription is experimental (see issue #23416) temp: i32 = fun(5i32); //<-- Error ^~~~~~~~~
So che questo problema è risolto utilizzando let
, ma qualcuno può spiegare che cosa "tipo attribuzione "è e che uso ha?
Ho trovato issue #23416 e the feature gate for type ascription, ma non sono riuscito a trovare nulla per capire che cosa sia "l'ascrizione" e qual è il suo scopo.
vi ringrazio molto per la spiegazione e il collegamento –
Un esempio ancora * migliore * è 'Into'; poiché il parametro type contiene un parametro di * trait *, è * impossibile * annotare una chiamata al metodo '.into()' per specificare il tipo. È necessario riscrivere l'espressione per utilizzare invece una chiamata di funzione annotata. –
'Questo perché il metodo collect può restituire qualsiasi tipo che implementa il FromIterator' - ma perché restituirebbe qualcosa di diverso dal tipo di" chars() "? –