Перейти к содержимому
Топаз6.0 · До релиза
Загрузка →

Поиск в документации

Спецификация 6.0

Выберите результат стрелками и нажмите Enter, чтобы открыть его.

Введите имя API, номер диагностики, правило или тему проекта.

    Диагностика TPZ3008

    Two declarations in one module bind the same namespace name.

    Diagnostic and cause

    Ссылка

    Module namespace collision

    Семейство
    topaz
    Этап
    resolve
    Код
    TPZ3008

    Причина и условия

    Two declarations binding the same top-level name in one module produce TPZ3008.

    Действия

    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]: value is 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.

    Правилоdiagnostics.tpz3008.rule

    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

    Ссылка
    example.tpzRejected programОткрыть песочницу →
    1. let value = 1
    2. let value = 2
    Ожидаемый выводНенулевой код завершения
    Нет стандартного вывода.
    $ topaz check example.tpz · Целевой продукт 5.21.3
    Ожидаемый результат

    Ожидаемый результат

    Этап отклонения resolve. Ненулевой код завершения.

    The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.

    Corrected program

    Ссылка
    example.tpzCorrected program
    1. let value = 1
    2. let other = 2
    Ожидаемый выводКод завершения 0
    $ topaz check example.tpz · Целевой продукт 5.21.3
    Ожидаемый результат

    Ожидаемый результат

    Проверка принимает программу. Код завершения 0.

    This program applies the repair described above. The verification status records whether it has been run.

    Меню

    Загрузка →