Несколько раз я использовал неправильный синтаксис, например, забывая использовать let
в этом примере:Что такое тип записи?
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 ^~~~~~~~~
Я знаю, что эта проблема решается с помощью let
, но может кто-то объяснить, что такое «тип приписывание «есть и что использовать?
Я нашел issue #23416 и the feature gate for type ascription, но я не мог найти ничего, чтобы понять, что такое «тип записи» и какова его цель.
спасибо очень много для объяснения и ссылки –
Еще один пример * лучше * 'Into'; потому что параметр типа есть параметр * trait *, * невозможно * аннотировать вызов метода .into() 'для указания типа. Вы должны переписать выражение, чтобы вместо этого использовать вызов с аннотированной функцией. –
'Это потому, что метод collect может возвращать любой тип, который реализует FromIterator', но зачем ему возвращать что-либо, кроме типа« chars() »? –