diff --git a/vlib/v/checker/tests/nil_to_option_err.out b/vlib/v/checker/tests/nil_to_option_err.out new file mode 100644 index 00000000000000..218d40a754f917 --- /dev/null +++ b/vlib/v/checker/tests/nil_to_option_err.out @@ -0,0 +1,34 @@ +vlib/v/checker/tests/nil_to_option_err.vv:8:7: warning: cannot assign a reference to a value (this will be an error soon) left=int false right=nil true ptr=false + 6 | fn main() { + 7 | mut a := ?int(none) + 8 | a = unsafe { nil } + | ^ + 9 | + 10 | mut b := Test{} +vlib/v/checker/tests/nil_to_option_err.vv:7:9: warning: unused variable: `a` + 5 | + 6 | fn main() { + 7 | mut a := ?int(none) + | ^ + 8 | a = unsafe { nil } + 9 | +vlib/v/checker/tests/nil_to_option_err.vv:3:7: error: cannot assign `nil` to a non-pointer field + 1 | struct Test { + 2 | mut: + 3 | a ?int = unsafe { nil } + | ~~~~ + 4 | } + 5 | +vlib/v/checker/tests/nil_to_option_err.vv:8:9: error: cannot assign `nil` to option value + 6 | fn main() { + 7 | mut a := ?int(none) + 8 | a = unsafe { nil } + | ~~~~~~ + 9 | + 10 | mut b := Test{} +vlib/v/checker/tests/nil_to_option_err.vv:11:11: error: cannot assign `nil` to option value + 9 | + 10 | mut b := Test{} + 11 | b.a = unsafe { nil } + | ~~~~~~ + 12 | } diff --git a/vlib/v/checker/tests/nil_to_option_err.vv b/vlib/v/checker/tests/nil_to_option_err.vv new file mode 100644 index 00000000000000..e84e7e5509a22f --- /dev/null +++ b/vlib/v/checker/tests/nil_to_option_err.vv @@ -0,0 +1,12 @@ +struct Test { +mut: + a ?int = unsafe { nil } +} + +fn main() { + mut a := ?int(none) + a = unsafe { nil } + + mut b := Test{} + b.a = unsafe { nil } +} \ No newline at end of file