Markdown for LLMs
LDC-E1306 — Integer literal outside the 64-bit range
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1306 — Integer literal outside the 64-bit range ## What it means The canonical form stores integers in a fixed 64-bit shape so facts, keys, and joins compare equal across spellings. A literal that does not fit that range cannot be stored, so the compiler stops at the digits instead of truncating them silently. The repair is to bring the value into range, or to express the quantity in a wider type the program actually needs. What fits lowers exactly as written. ## Example ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; const Huge: Integer = 99999999999999999999999; ``` ## Fix ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; const Huge: Integer = 1000000000000000000; ``` ## Engine message The engine reports this in its own wording: ```text example.law:5:23: error LDC-E1306: integer 99999999999999999999999 is outside i64 — the §208 canon requires i64 ``` ## Related - [Expressions and quantities](/constructs/expressions-quantities/) — values, units, and their canonical shapes.