File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -7,9 +7,12 @@ HB.structure Definition A n := { T of HasA n T }.
77HB.mixin Record HasB (X : A.type 0) (T : Type) := { b : X -> T }.
88HB.structure Definition B (X : A.type 0) := { T of HasB X T }.
99
10- #[verbose]
10+ (* Since `B` expects an argument of type `A.type 0` (and not just
11+ just the naked type `T`) we pass `A.clone 0 T _`
12+ (of type `A.type 0`) and inference uses the first
13+ parameter `A` to elaborate it. *)
1114HB.mixin Record IsSelfA T of A 0 T & B (A.clone 0 T _) T := {}.
12- #[verbose]
15+
1316HB.structure Definition SelfA := { T of IsSelfA T }.
1417
1518HB.factory Record IsSelfA' T := { a : T ; b : T -> T}.
@@ -19,5 +22,4 @@ HB.builders Context T of IsSelfA' T.
1922 HB.instance Definition _ := IsSelfA.Build T.
2023HB.end .
2124
22- #[verbose]
23- HB.instance Definition _ := IsSelfA'.Build nat 0 id.
25+ HB.instance Definition _ := IsSelfA'.Build nat 0 id.
You can’t perform that action at this time.
0 commit comments