diff --git a/collects/typed-racket/optimizer/tool/mzc.rkt b/collects/typed-racket/optimizer/tool/mzc.rkt index d7f79ad3fe..809c95bcf7 100644 --- a/collects/typed-racket/optimizer/tool/mzc.rkt +++ b/collects/typed-racket/optimizer/tool/mzc.rkt @@ -220,12 +220,13 @@ ;; in `g'. (apply append - (for/list ([site (in-list inlining-sites)] - #:when - ;; If at least one inlining of `f' in `g', prune. - (not (for/or ([evt (in-list site)]) - (success? evt)))) - site)))) + (for/list ([site (in-list inlining-sites)]) + ;; If at least one inlining of `f' in `g', ignore the rest. + (or (for/first ([evt (in-list site)] #:when (success? evt)) + (list evt)) + site))))) + (when (null? pruned-log) + (prune)) (define recommendation (cond [is-a-loop?