Diagnostic and cause
링크Module namespace collision
- 계열
- topaz
- 단계
- resolve
- 코드
TPZ3008
원인과 조건
Two declarations binding the same top-level name in one module produce TPZ3008.
관련 규칙 · Trigger and repair →대응
Rename one declaration or import alias. Check the local names introduced by selected imports as well.
Compiler phase: resolve.
Compiler explanation: Two declarations in one module bind the same namespace name.
Message templates. The marker ⟨value⟩ stands for text computed for the reported program.
⟨value⟩is already bound at this module's top level (first binding at byte ⟨value⟩) Source
Observed for the candidate in Topaz 5.21.3. Execution
- error[TPZ3008]:
valueis already bound at this module's top level (first binding at byte 4)
A top-level declaration or import binds a name already present in the module table. The example declares value twice.
Trigger and repair
Two declarations binding the same top-level name in one module produce TPZ3008.
Response
링크Rename one declaration or import alias. Check the local names introduced by selected imports as well.
Reproduction and verification
링크Rejected program
링크let value = 1let value = 2
표준 출력 없음.기대 결과
The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.
Corrected program
링크let value = 1let other = 2
기대 결과
기대 결과
검사가 프로그램을 받아들입니다. 종료 코드 0.
This program applies the repair described above. The verification status records whether it has been run.