* Should have used star (bound in syntax-case), not just * in type-of-formals
* I'm pretty sure ann should never get a starred or dotted type, since those can't appear outside of an arrow context.
This commit is contained in:
parent
6a30c9dec9
commit
4010a39c2d
|
@ -114,7 +114,7 @@ This file defines two sorts of primitives. All of them are provided into any mod
|
|||
[([var : ty] ...) (quasisyntax/loc stx (ty ...))]
|
||||
[([var : ty] ... . [rest : rest-ty star])
|
||||
(eq? '* (syntax-e #'star))
|
||||
(syntax/loc stx (ty ... rest-ty *))]
|
||||
(syntax/loc stx (ty ... rest-ty star))]
|
||||
[([var : ty] ... . [rest : rest-ty ddd bound])
|
||||
(eq? '... (syntax-e #'ddd))
|
||||
(syntax/loc stx (ty ... rest-ty ddd bound))]
|
||||
|
@ -149,15 +149,7 @@ This file defines two sorts of primitives. All of them are provided into any mod
|
|||
[(_ arg : ty)
|
||||
(syntax-property #'arg 'type-ascription #'ty)]
|
||||
[(_ arg ty)
|
||||
(syntax-property #'arg 'type-ascription #'ty)]
|
||||
[(_ arg ty star)
|
||||
(eq? '* (syntax-e #'star))
|
||||
(syntax-property #'arg 'type-ascription #'ty)]
|
||||
[(_ arg ty ddd bound)
|
||||
(eq? '... (syntax-e #'ddd))
|
||||
(syntax-property (syntax-property #'arg 'type-ascription #'ty)
|
||||
'type-dotted
|
||||
#'bound)]))
|
||||
(syntax-property #'arg 'type-ascription #'ty)]))
|
||||
|
||||
(define-syntax (: stx)
|
||||
(let ([stx*
|
||||
|
|
Loading…
Reference in New Issue
Block a user