#2207·rustlings

iterators3 tests dont check if errors are returned correctly

Author: Lars-SchumannCreated Feb 16, 2025Updated Nov 1, 2025
LabelsC-enhancementA-exercisesP-medium

I'm currently doing rustlings and struggled with iterators3 and searched a solution, which i thought i found here.

It implements one of the functions to edit like this:

fn result_with_list() -> Result<Vec<i64>, DivisionError> { 
let numbers = vec![27, 297, 38502, 81];
   let division_results = numbers.into_iter().map(|n| divide(n, 27));
   division_results.filter(|x| x.is_ok()).collect()
}

which compiles and passes the implemented test but this didn't make any sense to me, as this can never return a correct Err variant, at "best" this would return and empty Vec<i64>, if every division returns an Err variant, which is, as far as i understand, not the intended solution.

To remedy this, I would suggest adding test cases to cover this wrong solution, but since the functions that get tested here don't take any parameters, but instead have hard-coded values inside them, this would require changing their signature and passing in the vector of numbers to be divided.

I'm new to rust, so please let me know if this isn't a real issue.

If this is indeed a real issue, I'm happy to suggest an updated version of this exercise.