diff --git a/collects/typed-scheme/optimizer/optimizer.rkt b/collects/typed-scheme/optimizer/optimizer.rkt index 04bc1c790e..f9bc201792 100644 --- a/collects/typed-scheme/optimizer/optimizer.rkt +++ b/collects/typed-scheme/optimizer/optimizer.rkt @@ -37,7 +37,9 @@ ;; boring cases, just recur down (pattern ((~and op (~or (~literal #%plain-lambda) (~literal define-values))) formals e:expr ...) - #:with opt #`(op formals #,@(syntax-map (optimize) #'(e ...)))) + #:with opt (syntax-track-origin (quasisyntax/loc this-syntax (op formals #,@(syntax-map (optimize) #'(e ...)))) + this-syntax + #'op)) (pattern (case-lambda [formals e:expr ...] ...) ;; optimize all the bodies #:with (opt-parts ...)