~ chicken-core (chicken-5) 1a75d1f3db16f1fe3b6924e68da5900bffff4f60
commit 1a75d1f3db16f1fe3b6924e68da5900bffff4f60
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Aug 31 14:29:23 2011 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Wed Aug 31 14:29:23 2011 +0200
assignment to non-escaping var retains type of assigned value
diff --git a/scrutinizer.scm b/scrutinizer.scm
index cdc54cbc..7a103e84 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -629,9 +629,13 @@
#t)))))
;; don't use "add-to-blist" since the current operation does not affect aliases
(set! blist
- (alist-cons (cons var (car flow))
- (if strict-variable-types rt '*)
- blist)))
+ (alist-cons
+ (cons var (car flow))
+ (if (or strict-variable-types
+ (not (get db var 'captured)))
+ rt
+ '*)
+ blist)))
'(undefined)))
((##core#primitive ##core#inline_ref) '*)
((##core#call)
Trap