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

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

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

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

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

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

    A defer statement body is neither a block nor a call expression.

    Diagnostic and cause

    Ссылка

    Invalid defer body

    Семейство
    topaz
    Этап
    parse
    Код
    TPZ2004

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

    The body of a defer statement must be a block (topaz.decision.defer-block-only.1).

    Действия

    Place the deferred work in a block.

    Compiler phase: parse.

    Compiler explanation: A defer statement body is neither a block nor a call expression.

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

    • defer takes a block or a call Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ2004]: defer takes a block or a call

    A defer statement has a body that is not a block.

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

    Trigger and repair

    The body of a defer statement must be a block (topaz.decision.defer-block-only.1).

    Response

    Ссылка

    Place the deferred work in a block.

    Reproduction and verification

    Ссылка

    Rejected program

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

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

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

    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. defer {}
    Ожидаемый выводКод завершения 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.

    Меню

    Загрузка →