| 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 |