v4 / vlib / v / checker / tests / method_call_arg_no_mut_err.vv
26 lines · 21 sloc · 292 bytes · 428fd7f57f29b4c163d046a8c3c849acfa9f4f6f
Raw
1module main
2
3type Fkt = fn (mut Alarm)
4
5struct Alarm {
6 x int
7}
8
9struct Clock {
10mut:
11 arr []Alarm
12 alarm_fkt Fkt = unsafe { nil }
13}
14
15fn fkt(mut a Alarm) {
16 println(a.x)
17}
18
19fn main() {
20 mut c := Clock{
21 alarm_fkt: fkt
22 }
23 c.arr << Alarm{}
24 mut last := c.arr.last()
25 c.alarm_fkt(last)
26}
27