Diagnostic and cause
СсылкаDuplicate key in map literal
- Семейство
- topaz
- Этап
- check
- Код
TPZ5602
Причина и условия
Two map-literal keys with identical literal spelling are rejected with TPZ5602 at the repeated key. Different string keys are accepted.
Связанное правило · Repeated literal map key →Действия
Remove the repeated entry or use a different key. Combine values before constructing the map when both entries describe the same key.
Compiler phase: check.
Compiler explanation: A map literal contains the same constant key more than once.
Message templates. The marker ⟨value⟩ stands for text computed for the reported program.
- duplicate key in
map { … }literal Source
Observed for the candidate in Topaz 5.21.3. Execution
- error[TPZ5602]: duplicate key in
map { … }literal
Two map-literal keys with identical literal spelling are rejected with TPZ5602 at the repeated key. Different string keys are accepted.
Repeated literal map key
Two map-literal keys with identical literal spelling are rejected with TPZ5602 at the repeated key. Different string keys are accepted.
Response
СсылкаRemove the repeated entry or use a different key. Combine values before constructing the map when both entries describe the same key.
Reproduction and verification
СсылкаRejected program
Ссылкаlet values = map { "a": 1, "a": 2 }
Нет стандартного вывода.Ожидаемый результат
Ожидаемый результат
Этап отклонения check. Ненулевой код завершения.
repeated-identical-string-key-in-map-literal at
example.tpz:1:28
The SELF check compares the literal kind and source spelling. This example does not claim static detection of equal values written with different spellings.
Repaired program
Ссылкаlet values = map { "a": 1, "b": 2 }
Ожидаемый результат
Ожидаемый результат
Проверка принимает программу. Код завершения 0.
The SELF check compares the literal kind and source spelling. This example does not claim static detection of equal values written with different spellings.