This PR modifies `#print` for structures to say "field notation resolution order" instead of just "resolution order".
21 lines
711 B
Text
21 lines
711 B
Text
diamond1.lean:11:40-11:45: error: parent field type mismatch, field 'a' from parent 'Baz' has type
|
||
α → α : Type
|
||
but is expected to have type
|
||
α : Type
|
||
structure Foo (α : Type) : Type
|
||
number of parameters: 1
|
||
parents:
|
||
Foo.toBar : Bar (α → α)
|
||
Foo.toBaz : Baz α
|
||
fields:
|
||
Bar.a : α → α
|
||
Bar.b : Nat → α → α
|
||
Baz.c : Bool → α
|
||
Baz.d : Nat
|
||
constructor:
|
||
Foo.mk {α : Type} (toBar : Bar (α → α)) (c : Bool → α) (d : Nat) : Foo α
|
||
field notation resolution order:
|
||
Foo, Bar, Baz
|
||
def f : Nat → Foo Nat :=
|
||
fun x => { a := fun y => x + y, b := fun x1 x2 => x1 + x2, c := fun x_1 => x, d := x }
|
||
diamond1.lean:27:47-27:52: warning: field 'a' from 'Baz' has already been declared
|