mirror of
https://github.com/vlang/v.git
synced 2025-09-13 22:42:26 +03:00
v.checker: disallow assigning none to _ (#20646)
This commit is contained in:
parent
91d50e415c
commit
75e906538f
3 changed files with 20 additions and 0 deletions
|
@ -283,6 +283,10 @@ fn (mut c Checker) assign_stmt(mut node ast.AssignStmt) {
|
|||
right.right.pos)
|
||||
}
|
||||
} else if left.kind == .blank_ident {
|
||||
if !is_decl && mut right is ast.None {
|
||||
c.error('cannot assign a `none` value to blank `_` identifier',
|
||||
right.pos)
|
||||
}
|
||||
left_type = right_type
|
||||
node.left_types[i] = right_type
|
||||
if node.op !in [.assign, .decl_assign] {
|
||||
|
|
12
vlib/v/checker/tests/assign_blank_none_err.out
Normal file
12
vlib/v/checker/tests/assign_blank_none_err.out
Normal file
|
@ -0,0 +1,12 @@
|
|||
vlib/v/checker/tests/assign_blank_none_err.vv:2:7: error: cannot assign a `none` value to a variable
|
||||
1 | fn main() {
|
||||
2 | _ := none
|
||||
| ~~~~
|
||||
3 | _ = none
|
||||
4 | }
|
||||
vlib/v/checker/tests/assign_blank_none_err.vv:3:6: error: cannot assign a `none` value to blank `_` identifier
|
||||
1 | fn main() {
|
||||
2 | _ := none
|
||||
3 | _ = none
|
||||
| ~~~~
|
||||
4 | }
|
4
vlib/v/checker/tests/assign_blank_none_err.vv
Normal file
4
vlib/v/checker/tests/assign_blank_none_err.vv
Normal file
|
@ -0,0 +1,4 @@
|
|||
fn main() {
|
||||
_ := none
|
||||
_ = none
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue