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

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

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

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

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

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

    The same logical module is imported more than once in one module.

    Diagnostic and cause

    Ссылка

    Duplicate import

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

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

    Importing the same logical module twice from one module produces TPZ3017, including imports that select different names.

    Действия

    Combine the selected names into one import declaration or use one namespace import.

    Compiler phase: resolve.

    Compiler explanation: The same logical module is imported more than once in one module.

    Message templates. The marker ⟨value⟩ stands for text computed for the reported program.

    • ⟨value⟩ is already imported by this module; a logical module may appear in at most one import item Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ3017]: lib is already imported by this module; a logical module may appear in at most one import item

    The module already has an import for the same logical dependency. Different selection lists do not create distinct dependencies.

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

    Trigger and repair

    Importing the same logical module twice from one module produces TPZ3017, including imports that select different names.

    Response

    Ссылка

    Combine the selected names into one import declaration or use one namespace import.

    Reproduction and verification

    Ссылка

    Rejected program

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

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

    Этап отклонения 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. import lib { first, second }
    Ожидаемый выводКод завершения 0
    $ topaz check example.tpz · Целевой продукт 5.21.3
    lib.tpzCorrected programОткрыть песочницу →
    1. export let first = 1
    2. export let second = 2
    Ожидаемый результат

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

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

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

    Меню

    Загрузка →