feat: add Decl.ensureUniqueLetVarNames

This commit is contained in:
Leonardo de Moura 2022-08-15 13:03:07 -07:00
parent 142b9bec36
commit d0203ca1dc

View file

@ -115,4 +115,12 @@ def Decl.toString (decl : Decl) : CoreM String := do
Meta.MetaM.run' do
return s!"{decl.name} : {← Meta.ppExpr decl.type} :=\n{← Meta.ppExpr decl.value}"
/--
Make sure all let-declarations have unique user-facing names.
See `Compiler.ensureUniqueLetVarNames`
-/
def Decl.ensureUniqueLetVarNames (decl : Decl) : CoreM Decl := do
return { decl with value := (← Compiler.ensureUniqueLetVarNames decl.value) }
end Lean.Compiler