1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/v/tests/struct_fields_storing_functions_test.v
2022-04-15 15:35:35 +03:00

30 lines
464 B
V

type Async_cb = fn (x []u8, mut y []u8) int
fn async_cb(b []u8, mut res []u8) int {
if b.len > 0 {
res << b
}
return 0
}
struct Ep_arg {
mut:
sfd int
cb Async_cb
}
fn test_struct_fn_field_can_be_used_directly() {
buf := [u8(1), 2, 3]
mut res := []u8{}
res << 0x88
async_cb(buf[0..2], mut res)
data := Ep_arg{
sfd: 1234
cb: async_cb
}
data.cb(buf[1..2], mut res)
res << 0x99
eprintln(res)
assert res == [u8(0x88), 0x01, 0x02, 0x02, 0x99]
}