Always treat top-level redefinitions as annotated

Closes PR 14144

original commit: 7c4eb845a02c77dee6a9f8a650a9261ab1a7b25b
This commit is contained in:
Asumu Takikawa 2013-11-11 18:58:57 -05:00
parent 04addef70f
commit be035ba8d5

View File

@ -168,7 +168,10 @@
;; if this already had an annotation, we just construct the binding reps
[(andmap (lambda (s) (lookup-type s (lambda () #f))) vars)
(define top-level? (eq? (syntax-local-context) 'top-level))
(for ([var (in-list vars)]) (finish-register-type var top-level?))
(for ([var (in-list vars)])
(when (dict-has-key? unann-defs var)
(free-id-table-remove! unann-defs var))
(finish-register-type var top-level?))
(map (lambda (s) (make-def-binding s (lookup-type s))) vars)]
;; special case to infer types for top level defines
[else