This PR adds support for pretty printing using generalized field notation (dot notation) for private definitions on public types. It also modifies dot notation elaboration to resolve names after removing the private prefix, which enables using dot notation for private definitions on private imported types. It won't pretty print with dot notation for definitions on inaccessible private types from other modules. Closes #7297
13 lines
500 B
Text
13 lines
500 B
Text
Bla.foo == "world" : Bool
|
|
private.lean:14:12-14:15: error: private declaration `Bla.foo` has already been declared
|
|
foo == 0 : Bool
|
|
Bla.foo : String
|
|
Boo.Bla.boo == "world" : Bool
|
|
Boo.Bla.boo ++ "world" : String
|
|
Boo.Bla.boo == "world" : Bool
|
|
Boo.boo == 100 : Bool
|
|
Boo.Bla.boo == "world" : Bool
|
|
Boo.boo == 100 : Bool
|
|
x.mul10 : Nat
|
|
private.lean:65:12-65:13: error: a non-private declaration `y` has already been declared
|
|
private.lean:68:4-68:5: error: a private declaration `z` has already been declared
|