To handle delaborating notations that are functions that can be applied to arguments, extracts the core function application delaborator as a separate function that accepts the number of arguments to process and a delaborator to apply to the "head" of the expression. Defines `withOverApp`, which has the same interface as the combinator of the same name from std4, but it uses this core function application delaborator. Uses `withOverApp` to improve a number of application delaborators, notably projections. This means Mathlib can stop using `pp_dot` for structure fields that have function types. Incidentally fixes `getParamKinds` to specialize default values to use supplied arguments, which impacts how default arguments are delaborated. --------- Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
8 lines
158 B
Text
8 lines
158 B
Text
283.lean:1:24-1:25: error: application type mismatch
|
|
f f
|
|
argument
|
|
f
|
|
has type
|
|
?m : Sort ?u
|
|
but is expected to have type
|
|
optParam (Sort ?u) t : Type ?u
|