docs← Back to article

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.

Download this articlePlain text ↗
# 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.