fix: incorrect binder name being used

cc @hargoniX
This commit is contained in:
Leonardo de Moura 2022-09-04 16:56:42 -07:00
parent abd37d8fd1
commit d0600b3750
2 changed files with 11 additions and 3 deletions

View file

@ -202,9 +202,8 @@ def mkAuxJpDecl (params : Array Param) (code : Code) (prefixName := `_jp) : Comp
mkAuxFunDecl params code prefixName
def mkAuxJpDecl' (fvarId : FVarId) (code : Code) (prefixName := `_jp) : CompilerM FunDecl := do
let y ← mkFreshBinderName `_y
let yType ← inferType (.fvar fvarId)
let params := #[{ fvarId, binderName := y, type := yType }]
let localDecl ← getLocalDecl fvarId
let params := #[{ fvarId, binderName := localDecl.userName, type := localDecl.type }]
mkAuxFunDecl params code prefixName
def instantiateForall (type : Expr) (params : Array Param) : CoreM Expr :=

View file

@ -0,0 +1,9 @@
import Lean
def test (a : Nat) :=
let foo := match a with
| .zero => a
| .succ b => b
Nat.add foo .zero
#eval Lean.Compiler.compile #[``test]