Skip to content

Commit e1e6ddc

Browse files
authored
markused: add array method map and filter support (fix #26233) (#26238)
1 parent 3ef219a commit e1e6ddc

3 files changed

Lines changed: 15 additions & 0 deletions

File tree

‎vlib/v/markused/walker.v‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1703,6 +1703,11 @@ pub fn (mut w Walker) finalize(include_panic_deps bool) {
17031703
charptr_idx_str := ast.charptr_type_idx.str()
17041704
w.fn_by_name(charptr_idx_str + '.vstring_literal')
17051705
}
1706+
if w.used_arr_method['map'] || w.used_arr_method['filter'] {
1707+
ref_array_idx_str := int(ast.array_type.ref()).str()
1708+
w.fn_by_name(ref_array_idx_str + '.push')
1709+
w.fn_by_name(ref_array_idx_str + '.push_noscan')
1710+
}
17061711
// remove unused symbols
17071712
w.remove_unused_fn_generic_types()
17081713

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
done
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
fn main() {
2+
[u8(5)].map(fn (e u8) u8 {
3+
return e
4+
})
5+
[u8(5)].filter(fn (e u8) bool {
6+
return true
7+
})
8+
println('done')
9+
}

0 commit comments

Comments
 (0)