LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

раз уж стали делиться как в других языках.

В Rust вообще не скомпилируется:

pub fn compare (x: i32, y: u32) -> bool {
    return x < y;
}
error[E0308]: mismatched types
 --> <source>:2:16
  |
2 |     return x < y;
  |                ^ expected i32, found u32

Нужно явно писать compare, compare2 или compare3, типа такого

pub fn compare (x: i32, y: u32) -> bool {
    return (x as u32) < y;
}

pub fn compare2 (x: i32, y: u32) -> bool {
    return x < 0 || (x as u32) < y;
}

pub fn compare3 (x: i32, y: u32) -> bool {
    return (x as i64) < (y as i64);
}

Исходная версия fsb4000, :

раз уж стали делиться как в других языках.

В Rust вообще не скомпилируется:

pub fn compare (x: i32, y: u32) -> bool {
    return x < y;
}
error[E0308]: mismatched types
 --> <source>:2:16
  |
2 |     return x < y;
  |                ^ expected i32, found u32

Нужно явно писать compare2 или compare3, типа такого

pub fn compare (x: i32, y: u32) -> bool {
    return x < 0 || (x as u32) < y;
}