Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Во втором примере описка
До вывода типов:
func generate_nums(count: ?1) -> ?2 {
var a: ?3 = [];
...
return a;
}Сам вывод типов:
?2 = Array<int>
?3 = Array<int>После подстановки тип ?2 равен int вместо List<int>
func generate_nums(count: int) -> int {
var a: List<int> = [];
for (var i: int = 0; i < count; i++) {
a.insert(i);
}
return a;
}
Реализуем Type inference на Rust — Часть #1: Unification