blob: f131073c3aa197e54d435075f9d8558e0b5ef0a4 [file] [edit]
import Lean
structure A where
x : Nat := 0
structure B extends A where
y : Nat := 0
structure C extends B where
z : Nat := 0
def c : C := {}
open Lean
open Lean.Elab
def tst (varName structName fieldName : Name) : TermElabM Unit := do
let c := mkIdent varName
let some p ← Lean.Elab.Term.StructInst.mkProjStx? c structName fieldName | throwError "failed"
let p ← Term.elabTerm p none
logInfo s!"{p}"
#eval tst `c `C `x
#eval tst `c `C `y
#eval tst `c `C `z