Make TR use rest annotations over expected type.

Closes PR 10936.
This commit is contained in:
Eric Dobson 2014-03-25 01:16:38 -07:00
parent 049057edd9
commit c67f5f753c
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)))