toml: check for single-key reassignment in inline tables (#12436)
							parent
							
								
									35f00c9f91
								
							
						
					
					
						commit
						c8cb1bf6b4
					
				|  | @ -497,8 +497,13 @@ pub fn (mut p Parser) inline_table(mut tbl map[string]ast.Value) ? { | |||
| 				} else { | ||||
| 					p.ignore_while(parser.space_formatting) | ||||
| 					key, val := p.key_value() ? | ||||
| 					util.printdbg(@MOD + '.' + @STRUCT + '.' + @FN, 'inserting @5 "$key.str()" = $val.to_json() into ${ptr_str(tbl)}') | ||||
| 					tbl[key.str()] = val | ||||
| 					key_str := key.str() | ||||
| 					if _ := tbl[key_str] { | ||||
| 						return error(@MOD + '.' + @STRUCT + '.' + @FN + | ||||
| 							' key "$key_str" is already initialized with a value. At "$p.tok.kind" "$p.tok.lit" in this (excerpt): "...${p.excerpt()}..."') | ||||
| 					} | ||||
| 					util.printdbg(@MOD + '.' + @STRUCT + '.' + @FN, 'inserting @5 "$key_str" = $val.to_json() into ${ptr_str(tbl)}') | ||||
| 					tbl[key_str] = val | ||||
| 				} | ||||
| 				previous_token_was_value = true | ||||
| 			} | ||||
|  |  | |||
|  | @ -19,8 +19,6 @@ const ( | |||
| 		'table/injection-2.toml', | ||||
| 		'table/injection-1.toml', | ||||
| 		'table/duplicate-table-array.toml', | ||||
| 		// Inline-table
 | ||||
| 		'inline-table/duplicate-key.toml', | ||||
| 		// Array
 | ||||
| 		'array/tables-1.toml', | ||||
| 	] | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue