Adds a mechanism where when an autoparam tactic fails to synthesize a parameter, the associated parameter name or field name for the autoparam is reported in an error. Examples: ```text could not synthesize default value for parameter 'h' using tactics could not synthesize default value for field 'inv' of 'S' using tactics ``` Notes: * Autoparams now run their tactics without any error recovery or error-to-sorry enabled. This enables catching the error and reporting the contextual information. This is justified on the grounds that autoparams are not interactive. * Autoparams for applications now cleanup the autoParam annotation, bringing it in line with autoparams for structure fields. * This preserves the old behavior that autoparams leave terminfo, but we will revisit this after some imminent improvements to the unused variable linter. Closes #2950
52 lines
1.8 KiB
Text
52 lines
1.8 KiB
Text
{"version": 1,
|
|
"uri": "file:///4880.lean",
|
|
"diagnostics":
|
|
[{"source": "Lean 4",
|
|
"severity": 1,
|
|
"range":
|
|
{"start": {"line": 16, "character": 12},
|
|
"end": {"line": 16, "character": 17}},
|
|
"message":
|
|
"could not synthesize default value for field 'h1' of 'B' using tactics",
|
|
"fullRange":
|
|
{"start": {"line": 16, "character": 12},
|
|
"end": {"line": 16, "character": 17}}},
|
|
{"source": "Lean 4",
|
|
"severity": 1,
|
|
"range":
|
|
{"start": {"line": 16, "character": 12},
|
|
"end": {"line": 16, "character": 17}},
|
|
"message":
|
|
"failed to synthesize\n A\nAdditional diagnostic information may be available using the `set_option diagnostics true` command.",
|
|
"fullRange":
|
|
{"start": {"line": 16, "character": 12},
|
|
"end": {"line": 16, "character": 17}}},
|
|
{"source": "Lean 4",
|
|
"severity": 1,
|
|
"range":
|
|
{"start": {"line": 22, "character": 17},
|
|
"end": {"line": 22, "character": 20}},
|
|
"message":
|
|
"could not synthesize default value for parameter '_h1' using tactics",
|
|
"fullRange":
|
|
{"start": {"line": 22, "character": 17},
|
|
"end": {"line": 22, "character": 20}}},
|
|
{"source": "Lean 4",
|
|
"severity": 1,
|
|
"range":
|
|
{"start": {"line": 22, "character": 17},
|
|
"end": {"line": 22, "character": 20}},
|
|
"message":
|
|
"failed to synthesize\n A\nAdditional diagnostic information may be available using the `set_option diagnostics true` command.",
|
|
"fullRange":
|
|
{"start": {"line": 22, "character": 17},
|
|
"end": {"line": 22, "character": 20}}},
|
|
{"source": "Lean 4",
|
|
"severity": 1,
|
|
"range":
|
|
{"start": {"line": 34, "character": 13},
|
|
"end": {"line": 34, "character": 18}},
|
|
"message": "unsolved goals\n⊢ A",
|
|
"fullRange":
|
|
{"start": {"line": 34, "character": 13},
|
|
"end": {"line": 34, "character": 18}}}]}
|