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

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

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

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

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

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

    A binding position uses a name reserved for a constructor or language form.

    Diagnostic and cause

    Ссылка

    Reserved binding name

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

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

    A record declaration cannot use set or map as its name.

    Действия

    Give the record a different name, such as Item. Keep set and map for collection literals. Use None() to construct an empty Option.

    Compiler phase: parse.

    Compiler explanation: A binding position uses a name reserved for a constructor or language form.

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

    • None is the Option constructor (§22.1) and cannot be a binding name Source
    • ⟨value⟩ is reserved for the ⟨value⟩ { … } collection literal (§6) and cannot be a record name Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ2012]: set is reserved for the set { … } collection literal (§6) and cannot be a record name

    The record is named set. Record names set and map are reserved for collection literals. This code also covers reserved None binding positions.

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

    Trigger and repair

    A record declaration cannot use set or map as its name.

    Response

    Ссылка

    Give the record a different name, such as Item. Keep set and map for collection literals. Use None() to construct an empty Option.

    Reproduction and verification

    Ссылка

    Rejected program

    Ссылка
    example.tpzRejected programОткрыть песочницу →
    1. record set {
    2. value: int
    3. }
    Ожидаемый выводНенулевой код завершения
    Нет стандартного вывода.
    $ 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. record Item {
    2. value: int
    3. }
    Ожидаемый выводКод завершения 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.

    Меню

    Загрузка →