I want to typecheck a function that looks like f1. But it doesn't work. The 
types of 'bool' and 'syms' are reported as Any.

However, if I add a dummy keyword argument, as in f2, then everything 
typechecks fine: 'bool' is reported as a Boolean and 'syms' is (Listof Symbol).

Feature? Bug?

;;;;;;;;;;;;;;;;;;;;;;;

#lang typed/racket

(: f1 (() (Boolean) #:rest Symbol . ->* . Any))
(define (f1 [bool #t] . syms)
  bool
  syms)

(: f2 (() (Boolean #:x Integer) #:rest Symbol . ->* . Any))
(define (f2 [bool #t] #:x [x 42] . syms)
  bool
  syms)
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to