~ chicken-core (chicken-5) 2d0040f23facb0eeca5dc3bfc12c143b0c600557
commit 2d0040f23facb0eeca5dc3bfc12c143b0c600557
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Sun Nov 1 11:12:41 2015 +1300
Commit: Evan Hanson <evhan@foldling.org>
CommitDate: Sun Nov 1 11:16:32 2015 +1300
Rename "exact" param to "all" in over-all-instantiations
"all" is a better description of what the flag does now that there's no
"exact" mode for type matching (see 14f6f55).
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 8b694d4d..81c2f823 100644
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -2288,8 +2288,10 @@
;;; perform check over all typevar instantiations
+;
+; If "all" is #t all types in tlist must match, if #f then one or more.
-(define (over-all-instantiations tlist typeenv exact process)
+(define (over-all-instantiations tlist typeenv all process)
(let ((insts '())
(anyinst #f)
(trail0 trail))
@@ -2321,14 +2323,14 @@
(lambda (inst)
(cond ((assq var inst) => cdr)
;;XXX is the following correct in all cases?
- (exact '*)
+ (all '*)
(else #f)))
insts)))
vars)))
(ddd " collected: ~s" all)
all))
- (ddd " over-all-instantiations: ~s exact=~a" tlist exact)
+ (ddd " over-all-instantiations: ~s all: ~a" tlist all)
;; process all tlist elements
(let loop ((ts (delete-duplicates tlist eq?))
(ok #f))
@@ -2345,7 +2347,7 @@
((process (car ts))
(restore)
(loop (cdr ts) #t))
- (exact
+ (all
(restore)
#f)
(else
Trap