fix: incorrect binder name being used
cc @hargoniX
This commit is contained in:
parent
abd37d8fd1
commit
d0600b3750
2 changed files with 11 additions and 3 deletions
|
|
@ -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 :=
|
||||
|
|
|
|||
9
tests/lean/run/lcnfBinderNameBug.lean
Normal file
9
tests/lean/run/lcnfBinderNameBug.lean
Normal 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]
|
||||
Loading…
Add table
Reference in a new issue