Equations
- instReprCursor = { reprPrec := instReprCursor.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instInhabitedCursor = { default := instInhabitedCursor.default }
Equations
- instBEqCursor = { beq := instBEqCursor.beq }
Equations
- instHashableCursor = { hash := instHashableCursor.hash }
Equations
- instLTCursor = { lt := Cursor.lt }
Equations
- instLECursor = { le := Cursor.le }
Equations
- instDecidableLeCursor c₁ c₂ = instDecidableLeCursor._aux_1 c₁ c₂
Equations
- instDecidableGtCursor c₁ c₂ = instDecidableGtCursor._aux_1 c₁ c₂
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instReprSourceSpan = { reprPrec := instReprSourceSpan.repr }
Equations
- instInhabitedSourceSpan = { default := instInhabitedSourceSpan.default }
Equations
- instBEqSourceSpan = { beq := instBEqSourceSpan.beq }
Equations
Instances For
Equations
Instances For
Equations
Equations
Instances For
A placeholder position for diagnostics with no real one to report against. Not
default/(0 : SourceSpan) — both are ⟨⟨0,0⟩,⟨0,0⟩⟩, but every real position in this codebase
has 1-indexed lines (lexing starts at ⟨1,0⟩), so line 0 would render a wrong, off-by-one line
number. Line 1 points at a real line even though the span itself stays meaningless.
Equations
Instances For
Equations
- instAppendSourceSpan = { append := SourceSpan.merge }
Instances For
Equations
- «term_@@_» = Lean.ParserDescr.trailingNode `«term_@@_» 60 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " @@ ") (Lean.ParserDescr.cat `term 61))
Instances For
Internal.sourceMap has no clear operation: it grows for the life of the process. This is
sound for concurrent compiles as much as sequential ones. No two live values share an address,
and posOf requires holding the value to read its position — so whatever holds it is, by
definition, not dead, and its slot cannot have been reused by anything else in the meantime.
Values that were never registered are a separate matter this map cannot fix by itself: nullary
constructors (Expression.true, Statement.skip) share one tagged-scalar address program-wide
and so cannot carry per-occurrence positions this way, and some compiled-in constants have no
source span to register at all. Annotation's constructors carry an explicit pos : SourceSpan
field instead of using registerSource/posOf, for exactly this reason.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Match arbitrary expressions, together with the positions attached to them.
If some expressions may not be attached positions (e.g. proofs), one can specify (indices := [n₁ ... nₙ]) to
only match on the positions of the nᵢ-th discriminant (1-based indexing).
Equations
- One or more equations did not get rendered due to their size.