fn fn_val(i: i32) -> i32 { unimplemented!() }
fn fn_constref(i: &i32) -> i32 { unimplemented!() }
fn fn_mutref(i: &mut i32) { unimplemented!() }
-fn foo() -> i32 { unimplemented!() }
+fn fooi() -> i32 { unimplemented!() }
+fn foob() -> bool { unimplemented!() }
fn immutable_condition() {
// Should warn when all vars mentionned are immutable
let x = 0;
while y < 10 && x < 3 {
+ let mut k = 1;
+ k += 2;
println!("KO - x and y immutable");
}
println!("OK - mut_cond is mutable");
}
- while foo() < x {
+ while fooi() < x {
+ println!("OK - Fn call results may vary");
+ }
+
+ while foob() {
println!("OK - Fn call results may vary");
}
println!("OK - passed by mutable reference");
fn_mutref(&mut i)
}
+
+ while i < 3 {
+ fn_mutref(&mut i);
+ println!("OK - passed by mutable reference");
+ }
}
fn main() {