lean4-htt/tests/lean/439.lean.expected.out
Kyle Miller c394a834c3
feat: extract delabAppCore, define withOverApp, and make over-applied projections pretty print (#3083)
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>
2024-01-10 13:24:28 +00:00

20 lines
438 B
Text

fn.imp : {p : P} → Bar.fn p
439.lean:18:7-18:12: error: function expected at
fn.imp
term has type
Bar.fn ?m
439.lean:29:7-29:11: error: function expected at
fn.imp
term has type
Bar.fn ?m
fn.imp : Bar.fn p
fn'.imp Bp : Bar.fn p
439.lean:39:11-39:12: error: application type mismatch
fn'.imp p
argument
p
has type
P : Sort u
but is expected to have type
Bar.fn ?m : Sort ?u
fn'.imp (sorryAx (Bar.fn ?m) true) : Bar.fn ?m