diff --git a/collects/typed-scheme/types/abbrev.ss b/collects/typed-scheme/types/abbrev.ss index 1b5e2f930d..53729ed8b7 100644 --- a/collects/typed-scheme/types/abbrev.ss +++ b/collects/typed-scheme/types/abbrev.ss @@ -188,11 +188,12 @@ (make-Function (list (make-arr* dom rng #:rest rst #:filters filters #:object object)))])) (define-syntax (-> stx) + (define-syntax-class c + (pattern x:id #:when (eq? ': (syntax-e #'x)))) (syntax-parse stx - #:literals (:) - [(_ dom ... rng : filters) + [(_ dom ... rng :c filters) #'(->* (list dom ...) rng : filters)] - [(_ dom ... rng : filters) + [(_ dom ... rng :c filters) #'(->* (list dom ...) rng : filters)] [(_ dom ... rng) #'(->* (list dom ...) rng)]))