lean4-htt/tests/lean/interactive
Kyle Miller 309f44d007
feat: more reliable universe level inference in inductive/structure commands (#12514)
This PR improves universe level inference for the `inductive` and
`structure` commands to be more reliable and to produce better error
messages. Recall that the main constraint for inductive types is that if
`u` is the universe level for the type and `u > 0`, then each
constructor field's universe level `v` satisfies `v ≤ u`, where a
*constructor field* is an argument that is not one of the type's
*parameters* (recall: the type's parameters are a prefix of the
parameters shared by the type former and all the constructors). Given
this constraint, the `inductive` elaborator attempts to find reasonable
assignments to metavariables that may be present:
- For the universe level `u`, choosing an assignment that makes this
level least is reasonable, provided it is unique.
- For constructor fields, choosing the unique assignment is usually
reasonable.
- For the type's parameters, promoting level metavariables to new
universe level parameters is reasonable.

The order of these steps led to somewhat convoluted error messages; for
example, metavariable->parameter promotion was done early, leading to
errors mentioning `u_1`, `u_2`, etc. instead of metavariables, as well
as extraneous level constraint errors. Furthermore, early parameter
promotion meant it was too late to perform certain kinds of inferences.

Now there is a straightforward order of inference:
1. If the type's universe level could be zero, it checks that the type
is an "obvious `Prop` candidate", which means it's non-recursive, has
one constructor with at least one field, and all the fields are proofs.
If it's a `Prop` candidate, the level is set to zero and we skip to step
4.
2. If the type's simplified universe level is of the form `?u + k`, it
will accumulate level constraints to find a least upper bound solution
for `?u`. To avoid sort polymorphism, it adds `1 ≤ ?u + k`, ensuring the
result stays in `Type _`, or at least `Sort (max 1 _)`. It allows other
metavariables to appear in the assignment for `?u`, provided they appear
in the type former, or for `structure` in the `extends` clause.
3. If the type's simplified universe level is then of the form `r + k`,
where `r` is a parameter, metavariable, or zero, then for every
constructor field it will take the `v ≤ r + k` constraint and extract
`?v ≤ r + k'` constraints. It will also *weakly* extract `1 ≤ ?v`
constraints, using the observation that it's surprising if fields are
automatically inferred to be proofs. Once the constraints are collected,
each metavariable is solved for independently. Heuristically, if there
is a unique non-constant solution we take that, or else a unique
constant solution.
4. Any remaining level metavariables in the type former (or `extends`
clause) become level parameters.
5. Remaining level metavariables in the constructor fields are reported
as errors.
6. Then, the elaborator checks that the level constraints actually hold
and reports an error if they don't.

In 2 and 3, there are procedures to simplify universe levels. You can
write `Sort (max 1 _)` for the resulting type now and it will solve for
`_`.

The "accidentally higher universe" error is now a warning. The
constraint solving is also done in a more careful way, which keeps it
from being reported erroneously. There are still some erroneous reports,
but these ones are hard for the checker to reject. As before, the
warning can be turned off by giving an explicit universe.

Note about `extends` clauses: in testing, there were examples where it
was surprising if the universe polymorphism of parent structures didn't
carry over to the type being defined, even though parent structures are
actually constructor fields.

**Breaking change.** Universe level metavariables present only in
constructor fields are no longer promoted to be universe level
parameters: use explicit universe level parameters. This promotion was
inconsistently done depending on whether the inductive type's universe
level had a metavariable, and also it caused confusion for users, since
these universe levels are not constrained by the type former's
parameters.

**Breaking change.** Now recursive types do not count as "obvious `Prop`
candidates". Use an explicit `Prop` type former annotation on recursive
inductive predicates.

Additional changes:
- level metavariable errors are now localized to constructors, and
`structure` fields have such errors localized to fields
- adds module docs for the index promotion algorithm and the universe
level inference algorithm for inductives
- factors out `Lean.Elab.Term.forEachExprWithExposedLevelMVars` for
printing out the context of an expression with universe level
metavariables
- makes universe level metavariable exposure more effective at exposing
level metavariables (with an exception of `sorry` terms, which are too
noisy to expose)

Supersedes #11513 and #11524.
2026-02-18 23:46:12 +00:00
..
projects test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
533.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
533.lean.expected.out chore: do not rely on Name.lt for ordering fvars in acLt (#12306) 2026-02-08 14:25:31 +00:00
863.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
863.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
1018unknowMVarIssue.lean chore: change chatty test to interactive test (#8348) 2025-05-15 07:56:26 +00:00
1018unknowMVarIssue.lean.expected.out chore: change chatty test to interactive test (#8348) 2025-05-15 07:56:26 +00:00
1031.lean
1031.lean.expected.out
1265.lean
1265.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
1403.lean
1403.lean.expected.out feat: update omega/solve_by_elim to use new tactic syntax, use new tactic syntax (#5932) 2024-11-03 16:23:37 +00:00
1525.lean
1525.lean.expected.out
1659.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
1659.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
2058.lean feat: localize universe metavariable errors at let bindings and fun binders (#5402) 2024-09-24 05:30:42 +00:00
2058.lean.expected.out feat: more reliable universe level inference in inductive/structure commands (#12514) 2026-02-18 23:46:12 +00:00
2881.lean fix: erroneous "no goals" in empty tactic list in induction/cases and other tactic info improvements (#9553) 2025-07-26 23:15:31 +00:00
2881.lean.expected.out fix: erroneous "no goals" in empty tactic list in induction/cases and other tactic info improvements (#9553) 2025-07-26 23:15:31 +00:00
4078.lean
4078.lean.expected.out
4880.lean fix: ensure autoparam errors have correct positions (#4926) 2024-08-06 22:27:51 +00:00
4880.lean.expected.out feat: improve error message in the case of type class synthesis failure (#11245) 2025-11-21 21:24:27 +00:00
5659.lean fix: proper "excess binders" error locations for rintro and intro (#6565) 2025-01-08 08:36:45 +00:00
5659.lean.expected.out fix: rcases: avoid inflating case names with single constructor names (#9918) 2025-08-26 07:56:32 +00:00
6594.lean fix: incremental goal state requests select incomplete snapshot (#6887) 2025-02-14 11:53:24 +00:00
6594.lean.expected.out fix: incremental goal state requests select incomplete snapshot (#6887) 2025-02-14 11:53:24 +00:00
amb.lean
amb.lean.expected.out
anonHyp.lean
anonHyp.lean.expected.out
autoBoundIssue.lean feat: upstream definition of Vector from Batteries (#6197) 2024-11-24 23:01:32 +00:00
autoBoundIssue.lean.expected.out feat: use the metavariable index when pretty printing (#9778) 2025-08-07 15:58:51 +00:00
builtinCodeactions.lean fix: line break in simp? output (#6048) 2024-11-13 15:49:11 +00:00
builtinCodeactions.lean.expected.out fix: set data? field in eager code actions (#12332) 2026-02-06 08:57:27 +00:00
cancellation.lean fix: cancellation of non-incremental commands (#12553) 2026-02-18 12:12:47 +00:00
cancellation.lean.expected.out fix: cancellation of non-incremental commands (#12553) 2026-02-18 12:12:47 +00:00
catHover.lean chore: fix spelling mistakes in tests (#5439) 2024-09-24 03:22:53 +00:00
catHover.lean.expected.out chore: fix spelling mistakes in tests (#5439) 2024-09-24 03:22:53 +00:00
codeaction.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
codeaction.lean.expected.out fix: set data? field in eager code actions (#12332) 2026-02-06 08:57:27 +00:00
codeActions.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
codeActions.lean.expected.out fix: set data? field in eager code actions (#12332) 2026-02-06 08:57:27 +00:00
compHeader.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
compHeader.lean.expected.out chore: do not rely on Name.lt for ordering fvars in acLt (#12306) 2026-02-08 14:25:31 +00:00
completion.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completion.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completion2.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completion2.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completion3.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completion3.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completion4.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completion4.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completion5.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completion5.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completion6.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completion6.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completion7.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completion7.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionAtPrint.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionAtPrint.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionBracketedDot.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionBracketedDot.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionCheck.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionCheck.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionDanglingDot.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionDanglingDot.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionDeprecation.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionDeprecation.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionEndSection.lean feat: auto-completion for end names (#10660) 2025-10-08 11:12:05 +00:00
completionEndSection.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionEOF.lean
completionEOF.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionFallback.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionFallback.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionFromExpectedType.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionFromExpectedType.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionIStr.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionIStr.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionOpenNamespaces.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionOpenNamespaces.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionOption.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionOption.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionPrefixIssue.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionPrefixIssue.lean.expected.out chore: do not rely on Name.lt for ordering fvars in acLt (#12306) 2026-02-08 14:25:31 +00:00
completionPrivateTypes.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionPrivateTypes.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionPrv.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionPrv.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionStructureInstance.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
completionStructureInstance.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
completionTactics.lean fix: make first token detection work in modules (#12047) 2026-01-20 11:12:05 +00:00
completionTactics.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
compNamespace.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
compNamespace.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
definition.lean test: make test deterministic (#7916) 2025-04-11 11:16:16 +00:00
definition.lean.expected.out feat: improved go to definition (#9040) 2025-07-21 15:47:44 +00:00
Diff.lean
Diff.lean.expected.out test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
discrsIssue.lean
discrsIssue.lean.expected.out
docstringLinksExamples.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
docstringLinksExamples.lean.expected.out feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
documentSymbols.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
documentSymbols.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
dotIdCompletion.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
dotIdCompletion.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
dottedIdentNotation.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
dottedIdentNotation.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
editAfterError.lean
editAfterError.lean.expected.out feat: update and explain "unknown constant" and "failed to infer type" errors (#9423) 2025-07-18 19:20:31 +00:00
editCompletion.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
editCompletion.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
errorExplanationInteractive.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
errorExplanationInteractive.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
expectedTypeAsGoal.lean
expectedTypeAsGoal.lean.expected.out feat: use omission dots for hidden let values in Infoview (#8041) 2025-05-27 23:09:11 +00:00
explicitAppInstHole.lean fix: refine how named arguments suppress explicit arguments (#5283) 2024-09-27 20:14:29 +00:00
explicitAppInstHole.lean.expected.out feat: add option pp.mvars.delayed (#5643) 2024-10-08 17:48:52 +00:00
findReferences.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
findReferences.lean.expected.out fix: unknown identifier minimization (#10797) 2025-10-15 19:25:27 +00:00
foldingRange.lean
foldingRange.lean.expected.out
fvarIdCollision.lean chore: do not rely on Name.lt for ordering fvars in acLt (#12306) 2026-02-08 14:25:31 +00:00
fvarIdCollision.lean.expected.out chore: do not rely on Name.lt for ordering fvars in acLt (#12306) 2026-02-08 14:25:31 +00:00
ghostGoals.lean fix: ghost goals in autoparam tactic block (#6408) 2024-12-17 20:57:39 +00:00
ghostGoals.lean.expected.out fix: ghost goals in autoparam tactic block (#6408) 2024-12-17 20:57:39 +00:00
goalEOF.lean
goalEOF.lean.expected.out
goalIssue.lean
goalIssue.lean.expected.out
goalsAccomplished.lean test: goals accomplished (#8319) 2025-05-13 13:00:47 +00:00
goalsAccomplished.lean.expected.out test: goals accomplished (#8319) 2025-05-13 13:00:47 +00:00
goTo.lean feat: allow go-to-projection to look through reducible definitions (#12004) 2026-01-15 16:05:35 +00:00
goTo.lean.expected.out feat: allow go-to-projection to look through reducible definitions (#12004) 2026-01-15 16:05:35 +00:00
goTo2.lean feat: improved go to definition (#9040) 2025-07-21 15:47:44 +00:00
goTo2.lean.expected.out feat: improved go to definition (#9040) 2025-07-21 15:47:44 +00:00
guardMsgsCodeAction.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
guardMsgsCodeAction.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
haveInfo.lean
haveInfo.lean.expected.out feat: 'unsolved goals' & 'goals accomplished' diagnostics (#7366) 2025-03-07 13:50:56 +00:00
highlight.lean fix: do not cancel async elaboration tasks (#7175) 2025-02-21 17:24:36 +00:00
highlight.lean.expected.out fix: avoid new term info around def bodies (#6031) 2024-11-11 14:54:59 +00:00
highlightMatches.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
highlightMatches.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
hover.lean fix: hovers and docstrings for (co)inductive types (#10738) 2025-10-15 09:32:11 +00:00
hover.lean.expected.out fix: hovers and docstrings for (co)inductive types (#10738) 2025-10-15 09:32:11 +00:00
hoverAt.lean
hoverAt.lean.expected.out
hoverBinderUnderscore.lean chore: fix spelling errors (#10042) 2025-08-22 07:23:12 +00:00
hoverBinderUnderscore.lean.expected.out chore: fix spelling errors (#10042) 2025-08-22 07:23:12 +00:00
hoverDot.lean
hoverDot.lean.expected.out chore: normalize URLs to the language reference in test results (#7782) 2025-04-02 06:17:31 +00:00
hoverException.lean
hoverException.lean.expected.out feat: @[builtin_doc] attribute (part 2) (#3918) 2024-09-13 08:05:10 +00:00
hoverMatch.lean fix: de-prioritize PartialTermInfo in hover info selection (#10047) 2025-08-25 08:47:14 +00:00
hoverMatch.lean.expected.out fix: de-prioritize PartialTermInfo in hover info selection (#10047) 2025-08-25 08:47:14 +00:00
hoverTacticExt.lean
hoverTacticExt.lean.expected.out
importCompletion.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
importCompletion.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
incomingCallHierarchy.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
incomingCallHierarchy.lean.expected.out fix: unknown identifier minimization (#10797) 2025-10-15 19:25:27 +00:00
incomingCallHierarchyWhere.lean fix: getParentDeclName? inside where inside public def (#12119) 2026-01-23 17:32:05 +00:00
incomingCallHierarchyWhere.lean.expected.out fix: getParentDeclName? inside where inside public def (#12119) 2026-01-23 17:32:05 +00:00
incrementalCombinator.lean fix: stuck "Missing alternative name" with incremental processing (#10848) 2025-10-20 08:00:48 +00:00
incrementalCombinator.lean.expected.out chore: use backticks for sorry in diagnostic messages (#11608) 2025-12-15 14:30:21 +00:00
incrementalCommand.lean chore: use backticks for sorry in diagnostic messages (#11608) 2025-12-15 14:30:21 +00:00
incrementalCommand.lean.expected.out feat: improve split error messages (#9424) 2025-07-18 22:36:10 +00:00
incrementalInduction.lean fix: make sure "dependent elimination failed" error is on cases (#9551) 2025-07-25 19:02:42 +00:00
incrementalInduction.lean.expected.out refactor: update built-in tactic error messages (#9633) 2025-07-31 14:16:57 +00:00
incrementalMutual.lean fix: calculate error suppression per snapshot (#4657) 2024-07-08 09:54:43 +00:00
incrementalMutual.lean.expected.out feat: update and explain "unknown constant" and "failed to infer type" errors (#9423) 2025-07-18 19:20:31 +00:00
incrementalTactic.lean fix: calculate error suppression per snapshot (#4657) 2024-07-08 09:54:43 +00:00
incrementalTactic.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
infoIssues.lean
infoIssues.lean.expected.out
inlayHints.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
inlayHints.lean.expected.out feat: more reliable universe level inference in inductive/structure commands (#12514) 2026-02-18 23:46:12 +00:00
interactiveDiagnostics.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
interactiveDiagnostics.lean.expected.out chore: use backticks for sorry in diagnostic messages (#11608) 2025-12-15 14:30:21 +00:00
interactiveGoalGoToLoc.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
interactiveGoalGoToLoc.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
interactiveGoalPopups.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
interactiveGoalPopups.lean.expected.out test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
interactiveTermGoals.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
interactiveTermGoals.lean.expected.out test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
interactiveTraces.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
interactiveTraces.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
internalNamesIssue.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
internalNamesIssue.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
inWordCompletion.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
inWordCompletion.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
isRflParallel.lean chore: fix spelling mistakes (#8711) 2025-06-10 20:24:28 +00:00
isRflParallel.lean.expected.out feat: explicit defeq attribute (#8419) 2025-06-06 18:40:06 +00:00
issue4527.lean
issue4527.lean.expected.out feat: 'unsolved goals' & 'goals accomplished' diagnostics (#7366) 2025-03-07 13:50:56 +00:00
issue5021.lean fix: hover text over _ in ?_ (#5118) 2024-08-21 20:47:19 +00:00
issue5021.lean.expected.out chore: fix spelling mistakes (#7328) 2025-04-07 01:15:48 +00:00
issue5597.lean fix: declareSimpLikeTactic macro to use mkSynthetic (#5838) 2024-10-30 14:27:56 +00:00
issue5597.lean.expected.out doc: improve docstrings for simp!, simp_all!, dsimp! and autoUnfold (#9991) 2025-09-09 13:34:16 +00:00
jumpMutual.lean fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
jumpMutual.lean.expected.out feat: improved go to definition (#9040) 2025-07-21 15:47:44 +00:00
keywordCompletion.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
keywordCompletion.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
lean3HoverIssue.lean
lean3HoverIssue.lean.expected.out
macroGoalIssue.lean
macroGoalIssue.lean.expected.out
match.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
match.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
matchPatternHover.lean
matchPatternHover.lean.expected.out
matchStxCompletion.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
matchStxCompletion.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
moduleHierarchyImports.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
moduleHierarchyImports.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
outgoingCallHierarchy.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
outgoingCallHierarchy.lean.expected.out fix: unknown identifier minimization (#10797) 2025-10-15 19:25:27 +00:00
partialNamespace.lean
partialNamespace.lean.expected.out
plainGoal.lean feat: intermediate tactic info on simpa (#10309) 2025-09-09 20:24:27 +00:00
plainGoal.lean.expected.out feat: intermediate tactic info on simpa (#10309) 2025-09-09 20:24:27 +00:00
plainTermGoal.lean
plainTermGoal.lean.expected.out
ppShowLetValues.lean feat: use omission dots for hidden let values in Infoview (#8041) 2025-05-27 23:09:11 +00:00
ppShowLetValues.lean.expected.out feat: use omission dots for hidden let values in Infoview (#8041) 2025-05-27 23:09:11 +00:00
rename.lean
rename.lean.expected.out
run.lean test: avoid re-elaboration of interactive runner (#7177) 2025-02-22 10:36:25 +00:00
rwElabConst.lean fix: deduplicate elaboration of constant argument to rw (#8232) 2025-05-15 11:33:10 +00:00
rwElabConst.lean.expected.out fix: deduplicate elaboration of constant argument to rw (#8232) 2025-05-15 11:33:10 +00:00
semanticTokens.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
semanticTokens.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
semanticTokensVersoDocs.lean fix: Verso docstring semantic highlighting fixes (#10662) 2025-10-10 11:57:02 +00:00
semanticTokensVersoDocs.lean.expected.out fix: Verso docstring semantic highlighting fixes (#10662) 2025-10-10 11:57:02 +00:00
signatureHelp.lean fix: wrong signature help after map/filter/etc (#8655) 2025-06-06 13:07:01 +00:00
signatureHelp.lean.expected.out fix: wrong signature help after map/filter/etc (#8655) 2025-06-06 13:07:01 +00:00
stdOutput.lean
stdOutput.lean.expected.out
strInterpSynthError.lean fix: improve precision of synthesis failure spans in interpolated strings (#9004) 2025-06-27 01:47:32 +00:00
strInterpSynthError.lean.expected.out feat: improve error message in the case of type class synthesis failure (#11245) 2025-11-21 21:24:27 +00:00
structInstFieldHints.lean feat: allow custom preview spans in hint suggestions (#9555) 2025-07-26 00:04:28 +00:00
structInstFieldHints.lean.expected.out fix: set data? field in eager code actions (#12332) 2026-02-06 08:57:27 +00:00
structNameParentProj.lean feat: make structure parent projections nameable (#7100) 2025-02-18 07:38:13 +00:00
structNameParentProj.lean.expected.out feat: make structure parent projections nameable (#7100) 2025-02-18 07:38:13 +00:00
tacticInduction.lean fix: erroneous "no goals" in empty tactic list in induction/cases and other tactic info improvements (#9553) 2025-07-26 23:15:31 +00:00
tacticInduction.lean.expected.out fix: erroneous "no goals" in empty tactic list in induction/cases and other tactic info improvements (#9553) 2025-07-26 23:15:31 +00:00
terminationBySuggestion.lean feat: termination_by structural (#4542) 2024-07-01 16:51:30 +00:00
terminationBySuggestion.lean.expected.out fix: set data? field in eager code actions (#12332) 2026-02-06 08:57:27 +00:00
test_single.sh
travellingCompletions.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
travellingCompletions.lean.expected.out refactor: eliminate FileIdent.mod (#12089) 2026-01-27 09:55:29 +00:00
tryThisCodeAction.lean test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
tryThisCodeAction.lean.expected.out fix: set data? field in eager code actions (#12332) 2026-02-06 08:57:27 +00:00
unknownIdentifierCodeActions.lean feat: unknown identifier code action and the module system (#11164) 2025-12-12 21:19:34 +00:00
unknownIdentifierCodeActions.lean.expected.out fix: set data? field in all unknown identifier code actions (#12046) 2026-01-20 10:03:29 +00:00
unterminatedDocComment.lean
unterminatedDocComment.lean.expected.out
userWidget.lean
userWidget.lean.expected.out test: improve language server test coverage (#10574) 2025-09-30 11:15:03 +00:00
workspaceSymbols.lean test: fix test flakiness (#10680) 2025-10-08 13:33:56 +00:00
workspaceSymbols.lean.expected.out fix: unknown identifier minimization (#10797) 2025-10-15 19:25:27 +00:00