~ chicken-core (chicken-5) 3f44e143f9c08376ee5537a248b4ad4bbae5213f
commit 3f44e143f9c08376ee5537a248b4ad4bbae5213f Author: felix <felix@call-with-current-continuation.org> AuthorDate: Mon Jan 2 12:17:16 2012 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Fri Jan 20 08:56:24 2012 +0100 don't assume type of global variable if declaring as not inline diff --git a/scrutinizer.scm b/scrutinizer.scm index e3a91715..69682a0a 100755 --- a/scrutinizer.scm +++ b/scrutinizer.scm @@ -614,7 +614,10 @@ (not (get db var 'unknown))) (and-let* ((val (or (get db var 'value) (get db var 'local-value)))) - (when (eq? val (first subs)) + (when (and (eq? val (first subs)) + (or (not (variable-visible? var)) + (not (eq? (variable-mark var '##compiler#inline) + 'no)))) (debugging '|I| (sprintf "(: ~s ~s)" var rt)) ;; [2] sets property, but lambda has already been walked, ;; so no type-checks are generated (see also [1], above)Trap