error[E0308]: mismatched types
  --> $DIR/wrong-ret-type.rs:2:49
   |
LL | fn mk_int() -> usize { let i: isize = 3; return i; }
   |                -----                            ^ expected `usize`, found `isize`
   |                |
   |                expected `usize` because of return type
   |
help: you can convert an `isize` to a `usize` and panic if the converted value doesn't fit
   |
LL | fn mk_int() -> usize { let i: isize = 3; return i.try_into().unwrap(); }
   |                                                  ++++++++++++++++++++

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.