fixed pr 7628, ->d now checks the domain contract before partially applying the range function

svn: r1042

original commit: 71a50407852a98c4b641cb3b9805531ea0a431a3
This commit is contained in:
Robby Findler 2005-10-11 12:57:57 +00:00
parent b88d779511
commit 3423c90b58

View File

@ -378,6 +378,22 @@
'neg)
2))
(test/neg-blame
'contract-d3
'((contract (integer? . ->d . (lambda (x) (let ([z (+ x 1)]) (lambda (y) (= z y)))))
(lambda (x) (+ x 1))
'pos
'neg)
"bad input"))
(test/neg-blame
'contract-d4
'((contract (integer? . ->d . (lambda (x) (lambda (y) (= (+ x 1) y))))
(lambda (x) (+ x 1))
'pos
'neg)
"bad input"))
(test/spec-passed
'contract-arrow1
'(contract (integer? . -> . integer?) (lambda (x) x) 'pos 'neg))