@Kha I am using `_shadowed.<idx>` suffix for marking variables that have been shadowed. It is a bit verbose, but at least it is easy to understand understand error messages such as ``` shadow.lean:4:0: error: type mismatch h has type x._shadowed.1 = x._shadowed.1 but it is expected to have type x = x ``` It is better than the old cryptic version ``` shadow.lean:4:0: error: type mismatch h has type x = x but it is expected to have type x = x ```
9 lines
241 B
Text
9 lines
241 B
Text
new_frontend
|
||
|
||
theorem ex1 {α} (x : α) (h : x = x) (x : α) : x = x :=
|
||
h
|
||
|
||
set_option pp.sanitizeNames false
|
||
|
||
theorem ex2 {α} (x : α) (h : x = x) (x : α) : x = x :=
|
||
h -- this error is confusing because we have disabled `pp.sanitizeNames`
|