mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
cgen: fix a bug (deleting a map key while iterating on the same map) detected by -d debug_realloc
This commit is contained in:
parent
93df560cf9
commit
506561c792
@ -405,11 +405,16 @@ fn (mut g Gen) comp_for(node ast.CompFor) {
|
|||||||
g.stmts(node.stmts)
|
g.stmts(node.stmts)
|
||||||
i++
|
i++
|
||||||
g.writeln('}')
|
g.writeln('}')
|
||||||
|
//
|
||||||
|
mut delete_keys := []string{}
|
||||||
for key, _ in g.comptime_var_type_map {
|
for key, _ in g.comptime_var_type_map {
|
||||||
if key.starts_with(node.val_var) {
|
if key.starts_with(node.val_var) {
|
||||||
g.comptime_var_type_map.delete(key)
|
delete_keys << key
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for key in delete_keys {
|
||||||
|
g.comptime_var_type_map.delete(key)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if node.kind == .fields {
|
} else if node.kind == .fields {
|
||||||
// TODO add fields
|
// TODO add fields
|
||||||
|
Loading…
x
Reference in New Issue
Block a user