add tail call behavior test for -> contract

svn: r4779

original commit: 18288da49361fcf70780ae1330c39f4992516e10
This commit is contained in:
Robby Findler 2006-11-05 02:06:19 +00:00
parent 3ad9a94b46
commit f71da72753

View File

@ -4242,7 +4242,29 @@
(or/c (-> (>=/c 5) (>=/c 5)) boolean?)) (or/c (-> (>=/c 5) (>=/c 5)) boolean?))
(test-name '(or/c (-> (>=/c 5) (>=/c 5)) boolean?) (test-name '(or/c (-> (>=/c 5) (>=/c 5)) boolean?)
(or/c boolean? (-> (>=/c 5) (>=/c 5)))) (or/c boolean? (-> (>=/c 5) (>=/c 5))))
(test 1
length
(let ([f (contract (-> integer? any)
(lambda (x)
(with-continuation-mark 'x 'x
(continuation-mark-set->list (current-continuation-marks) 'x)))
'pos
'neg)])
(with-continuation-mark 'x 'x
(f 1))))
(test 2
length
(let ([f (contract (-> integer? list?)
(lambda (x)
(with-continuation-mark 'x 'x
(continuation-mark-set->list (current-continuation-marks) 'x)))
'pos
'neg)])
(with-continuation-mark 'x 'x
(f 1))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;