v/vlib/v/tests/struct_fields_storing_funct...

30 lines
478 B
V

type Async_cb = fn (x []byte, mut y []byte) int
fn async_cb(b []byte, mut res []byte) 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 := [byte(1), 2, 3]
mut res := []byte{}
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 == [byte(0x88), 0x01, 0x02, 0x02, 0x99]
}