Make TR use rest annotations over expected type.

Closes PR 10936.

original commit: c67f5f753cadf2b5a4f595b4e4c14264382aea16
This commit is contained in:
Eric Dobson 2014-03-25 01:16:38 -07:00
parent 684601415e
commit 237aeb761c
2 changed files with 10 additions and 1 deletions

View File

@ -120,8 +120,8 @@
[else
(define base-rest-type
(cond
[rest-ty rest-ty]
[(type-annotation rest) (get-type rest #:default Univ)]
[rest-ty rest-ty]
[else Univ]))
(define extra-types
(if (<= arg-len tys-len)

View File

@ -0,0 +1,9 @@
#;
(exn-pred 2)
#lang typed/racket
(define: my-rest : (All (elem) (elem elem * -> (Listof elem)))
(lambda ( #{ arg : elem} . #{ tail : (Listof elem) })
(rest tail)))
(define: my-rest2 : (All (elem) (elem elem * -> (Listof elem)))
(lambda ( #{ arg : elem} . #{ tail : elem })
(rest tail)))