~ chicken-core (chicken-5) d2a3610761963d7864eb27a72bfeebaeced15c49
commit d2a3610761963d7864eb27a72bfeebaeced15c49
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Aug 23 11:09:12 2011 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Tue Aug 23 11:09:12 2011 +0200
bugfix for FA of assignment (thanks to Sven Hartrumpf); validate deprecated type correctly
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 10797db0..be82fee7 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -694,9 +694,11 @@
"variable `~a' of type `~a' was modified to a value of type `~a'"
var ot rt)
#t)))))
- (when strict-variable-types
- ;; don't use "add-to-blist" since this does not affect aliases
- (set! blist (alist-cons (cons var (car flow)) rt blist))))
+ ;; don't use "add-to-blist" since this does not affect aliases
+ (set! blist
+ (alist-cons (cons var (car flow))
+ (if strict-variable-types rt '*)
+ blist)))
'(undefined)))
((##core#primitive ##core#inline_ref) '*)
((##core#call)
@@ -1254,6 +1256,8 @@
(and (= 2 (length t))
(symbol? (cadr t))
t))
+ ((eq? 'deprecated (car t))
+ (and (= 2 (length t)) (symbol? (second t))))
((eq? 'procedure (car t))
(and (pair? (cdr t))
(let* ((name (if (symbol? (cadr t))
Trap