blob: 7b0e6aeb394ba8962ab2e231d4366e16eff333db [file] [edit]
namespace Hidden
structure Array (α : Type u) (n : Nat) : Type u where
data : (i : Fin n) → α
@[extern "some_extern"]
def get {α} {n : Nat}
(A : Array α n) (i : Fin n) : α
:= A.data i
attribute [implemented_by get] Array.data -- ok
def get_2 {α : Type} {n : Nat} (A : Array α n) (i : Fin n) : α := A.data i
attribute [implemented_by get_2] Array.data -- error, number of universe parameters do not match
def get_3 {α} {n : Nat} (i : Fin n) (A : Array α n) : α := A.data i
attribute [implemented_by get_3] Array.data -- error, types do not match