1 // run-rustfix 2 3 #![warn(clippy::result_map_unit_fn)] 4 #![allow(unused)] 5 do_nothing<T>(_: T)6fn do_nothing<T>(_: T) {} 7 diverge<T>(_: T) -> !8fn diverge<T>(_: T) -> ! { 9 panic!() 10 } 11 plus_one(value: usize) -> usize12fn plus_one(value: usize) -> usize { 13 value + 1 14 } 15 16 struct HasResult { 17 field: Result<usize, usize>, 18 } 19 20 impl HasResult { do_result_nothing(&self, value: usize)21 fn do_result_nothing(&self, value: usize) {} 22 do_result_plus_one(&self, value: usize) -> usize23 fn do_result_plus_one(&self, value: usize) -> usize { 24 value + 1 25 } 26 } 27 28 #[rustfmt::skip] result_map_unit_fn()29fn result_map_unit_fn() { 30 let x = HasResult { field: Ok(10) }; 31 32 x.field.map(plus_one); 33 let _: Result<(), usize> = x.field.map(do_nothing); 34 35 x.field.map(do_nothing); 36 37 x.field.map(do_nothing); 38 39 x.field.map(diverge); 40 41 let captured = 10; 42 if let Ok(value) = x.field { do_nothing(value + captured) }; 43 let _: Result<(), usize> = x.field.map(|value| do_nothing(value + captured)); 44 45 x.field.map(|value| x.do_result_nothing(value + captured)); 46 47 x.field.map(|value| { x.do_result_plus_one(value + captured); }); 48 49 50 x.field.map(|value| do_nothing(value + captured)); 51 52 x.field.map(|value| { do_nothing(value + captured) }); 53 54 x.field.map(|value| { do_nothing(value + captured); }); 55 56 x.field.map(|value| { { do_nothing(value + captured); } }); 57 58 59 x.field.map(|value| diverge(value + captured)); 60 61 x.field.map(|value| { diverge(value + captured) }); 62 63 x.field.map(|value| { diverge(value + captured); }); 64 65 x.field.map(|value| { { diverge(value + captured); } }); 66 67 68 x.field.map(|value| plus_one(value + captured)); 69 x.field.map(|value| { plus_one(value + captured) }); 70 x.field.map(|value| { let y = plus_one(value + captured); }); 71 72 x.field.map(|value| { plus_one(value + captured); }); 73 74 x.field.map(|value| { { plus_one(value + captured); } }); 75 76 77 x.field.map(|ref value| { do_nothing(value + captured) }); 78 } 79 main()80fn main() {} 81