Diagnostic and cause
СсылкаImport after non-import item
- Семейство
- topaz
- Этап
- parse
- Код
TPZ2010
Причина и условия
Every top-level import precedes every non-import top-level item.
Связанное правило · Trigger and repair →Действия
Move all imports before the module's declarations and free statements.
Compiler phase: parse.
Compiler explanation: An import appears after a top-level item that ends the import prologue.
Message templates. The marker ⟨value⟩ stands for text computed for the reported program.
- imports form a prologue: every
importprecedes all other top-level items Source
Observed for the candidate in Topaz 5.21.3. Execution
- error[TPZ2010]: imports form a prologue: every
importprecedes all other top-level items
An import follows a non-import top-level item. That item ended the import prologue.
Trigger and repair
Every top-level import precedes every non-import top-level item.
Response
СсылкаMove all imports before the module's declarations and free statements.
Reproduction and verification
СсылкаRejected program
Ссылкаlet value = 1import lib
Нет стандартного вывода.export let exported = 1
Ожидаемый результат
Ожидаемый результат
Этап отклонения parse. Ненулевой код завершения.
diagnostic-tpz2010 at
example.tpz:2:1
The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.
Corrected program
Ссылкаimport liblet value = 1
export let exported = 1
Ожидаемый результат
Ожидаемый результат
Проверка принимает программу. Код завершения 0.
This program applies the repair described above. The verification status records whether it has been run.