# 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.