How to filter a vector in-place with Rust

1 Answer

0 votes
fn predicate_function(t: &i64) -> bool {
    t % 2 == 0 // Checks whether a given integer is even.
}

fn main() {
    let mut x: Vec<i64> = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];

    // retain keeps only the elements for which the predicate function returns true.
    x.retain(predicate_function);

    println!("{:?}", x);
}
  
  
  
/*
run:
    
[2, 4, 6, 8, 10, 12]
 
*/

 



answered Jul 13, 2025 by avibootz
edited Jul 13, 2025 by avibootz
...