Skip to content

Commit 35baedf

Browse files
authored
Merge pull request #572 from cecilemarcon/fixhowto
Fix HB.howto infinite loop
2 parents 2156a76 + 0373439 commit 35baedf

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

HB/common/database.elpi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,9 @@ findall-mixin-src T ML :-
230230
func findall-factory->constructor -> list prop.
231231
findall-factory->constructor L :-
232232
std.map {std.findall (findall-factory->constructor.aux _)} findall-factory->constructor.make L.
233-
func findall-factory->constructor.aux -> prop.
233+
pred findall-factory->constructor.aux o:prop.
234234
findall-factory->constructor.aux (factory->constructor F C) :-
235-
is-factory F, !, factory->constructor F C.
235+
is-factory F, factory->constructor F C.
236236
func findall-factory->constructor.make prop -> prop.
237237
findall-factory->constructor.make (findall-factory->constructor.aux P) P.
238238

_CoqProject.test-suite

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ examples/demo5/hierarchy_0.v
2222
# examples/cat/cat.v
2323
examples/cat/cat.v
2424

25+
tests/test_howto.v
2526
tests/type_of_exported_ops.v
2627
tests/duplicate_structure.v
2728
tests/instance_params_no_type.v

tests/test_howto.v

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
From HB Require Import structures.
2+
3+
HB.mixin Record hasB T := Mixin { b : unit; }.
4+
HB.mixin Record hasA T := Mixin { a : bool; }.
5+
HB.structure Definition A := { T of hasA T}.
6+
7+
HB.howto A.type. (* runs forever *)

0 commit comments

Comments
 (0)