Почему удаление return вызывает ошибку: ожидаемый тип `()` но найденный тип
Я пишуis_prime
функции в Rust, и у меня сложилось впечатление, что просто пишуtrue
был эквивалентreturn true;
, но это не так в моей функции:
fn is_prime(number: i64) -> bool {
for i in 2i64..number {
if number % i == 0 && i != number {
false
}
}
true
}
Это даст мне ошибку:
error[E0308]: mismatched types
--> src/lib.rs:4:13
|
4 | false
| ^^^^^ expected (), found bool
|
= note: expected type `()`
found type `bool`
Заменаtrue
а такжеfalse
сreturn true;
/ return false;
работает, но почему использование предыдущего не компилируется?