Hi,
I found a confusing comment in the cow1.rs exercise, inside the #[cfg(test)] module.
File: exercises/19_smart_pointers/cow1.rs
Test: owned_mutation
The test contains this comment:
// Of course this is also the case if a mutation does occur (not all
// numbers are absolute). In this case, the call to `to_mut()` in the
// `abs_all` function returns a reference to the same data as before.
The last sentence, "...the abs_all function returns a reference...", is incorrect. The abs_all function provided in the exercise has this signature and returns unit ():
fn abs_all(input: &mut Cow<[i32]>) {
// ...
}
This comment is very confusing for learners, as it describes behavior that doesn't match the code.
It looks like this comment is a "stale" leftover from a previous version of the exercise where abs_all did return a reference, like in this screenshot:
To avoid confusion, this stale comment should probably be updated to remove the incorrect part about the return value, or be re-written entirely.
Thanks!