parser: check for loop key/val names

pull/5483/head
Alexander Medvednikov 2020-06-24 16:54:21 +02:00
parent 4b0e606ae8
commit 8ac00b8711
1 changed files with 3 additions and 0 deletions

View File

@ -73,6 +73,9 @@ fn (mut p Parser) for_stmt() ast.Stmt {
key_var_name = val_var_name
val_var_pos = p.tok.position()
val_var_name = p.check_name()
if key_var_name == val_var_name {
p.error_with_pos('key and value in a for loop cannot be the same', val_var_pos)
}
if p.scope.known_var(key_var_name) {
p.error('redefinition of key iteration variable `$key_var_name`')
}