| -- | |
| structure A (α : Type) where | |
| (x : α) | |
| structure B (α : Type) where | |
| (x : α) | |
| structure S : Nat where -- error expected Type | |
| (x : Nat) | |
| structure S extends Nat → Nat where -- error expected structure | |
| (x : Nat) | |
| set_option structureDiamondWarning true in | |
| structure S' extends A Nat, B Nat where -- error field `x` already declared | |
| (x : Nat) | |
| structure SDup extends A Nat, A Nat where -- duplicate parent structure 'A' | |
| structure S extends A Nat, B Bool where -- error field `x` from `B` has already been declared | |
| (x : Nat) | |
| structure S1 where | |
| (_x : Nat) | |
| structure S2 where | |
| (x _y : Nat) | |
| structure S where | |
| (x : Nat) | |
| (x : Nat) -- error | |
| structure S extends A Nat where | |
| (x : Nat) -- error | |
| structure S' extends A Nat where | |
| (x := true) -- error type mismatch | |
| structure S extends A Nat where | |
| (x : Bool := true) -- error omit type | |
| structure S'' where | |
| (x : Nat := true) -- error type mismatch | |
| private structure S where | |
| private mk :: (x : Nat) | |
| private structure S where | |
| protected mk :: (x : Nat) | |
| private structure S where | |
| protected (x : Nat) | |
| private structure S where | |
| mk2 :: (x : Nat) | |
| #check S | |
| #check S.mk2 |