lean4-htt/tests/elabissues/anonymous_constructor_error_msg.lean
Leonardo de Moura 6900577723 doc: document issue
AFAICT, it has been solved in the new frontend. See new test.

cc @dselsam
2020-02-18 10:41:12 -08:00

31 lines
1,015 B
Text

/-
This is an annoyingly unhelpful error message that I see all the time.
An exact line number would help a lot, but even so it would be great
to replace the `⟨...⟩` with the actual term in question.
[Leo]: The bad position is due the transition to the new elaborator.
The new frontend produces the correct position.
Note that, the new frontend reports an error at `⟨4⟩`. This is the correct
position, and it is not possible to infer anything about the expected type since
`x4` is not used anywhere. So, the error message is the best we can get.
There is no actual term to replace. If we comment the line `let x4 := ...`,
the new elaborator succeeds.
-/
structure Foo := (n : Nat)
def Foo.sum (xs : List Foo) : Foo :=
xs.foldl (λ s x => ⟨s.n + x.n⟩) ⟨0⟩
#check
let x1 := ⟨1⟩;
let x2 := ⟨2⟩;
let x3 := ⟨3⟩;
let x4 := ⟨4⟩;
let x5 := ⟨5⟩;
let x6 := ⟨6⟩;
Foo.sum [x1, x2, x3, x5, x6]
/-
error: invalid constructor ⟨...⟩, expected type is not an inductive type
?m_1
-/