diff --git a/collects/tests/typed-racket/succeed/pr13691.rkt b/collects/tests/typed-racket/succeed/pr13691.rkt new file mode 100644 index 0000000000..d26cdfbdc3 --- /dev/null +++ b/collects/tests/typed-racket/succeed/pr13691.rkt @@ -0,0 +1,3 @@ +#lang typed/racket + +(let: loop : Integer ([b #t]) 3) diff --git a/collects/typed-racket/base-env/prims.rkt b/collects/typed-racket/base-env/prims.rkt index 2cc3209f81..9548b17f4f 100644 --- a/collects/typed-racket/base-env/prims.rkt +++ b/collects/typed-racket/base-env/prims.rkt @@ -428,10 +428,10 @@ This file defines two sorts of primitives. All of them are provided into any mod #,(quasisyntax/loc stx (lambda (bs.ann-name ...) . #,(syntax/loc stx body)))]) #,(quasisyntax/loc stx nm)))] - [(: ret-ty (bs:optionally-annotated-binding ...) . body) + [(: ret-ty (bs:optionally-annotated-binding ...) body ... bod) (quasisyntax/loc stx (letrec ([nm #,(quasisyntax/loc stx - (lambda (bs.ann-name ...) . (ann #,(syntax/loc stx body) ret-ty)))]) + (lambda (bs.ann-name ...) body ... (ann #,(syntax/loc stx bod) ret-ty)))]) #,(quasisyntax/loc stx nm)))] [((bs:optionally-annotated-binding ...) . body) (quasisyntax/loc stx