When an implicit argument cannot be inferred, the error should show the
name of the argument.
Showing the argument name in the error message for an uninstantiated
metavariable was introduced in da33f498f5,
but this implementation causes some argument names to get lost.
17 lines
350 B
Text
17 lines
350 B
Text
/-!
|
|
In the past, when an implicit argument couldn't be synthesized, the name of the argument got lost during elaboration.
|
|
Now it is saved and added to the error message.
|
|
|
|
In this exaple, that is 'n'.
|
|
-/
|
|
|
|
def foo {n : Nat} := 2*n
|
|
|
|
/--
|
|
error: don't know how to synthesize implicit argument 'n'
|
|
@foo ?m.64
|
|
context:
|
|
⊢ Nat
|
|
-/
|
|
#guard_msgs in
|
|
#eval foo
|