Add promise support to type->contract.
Closes PR13024.
This commit is contained in:
parent
a408d6bfbf
commit
09d32d35e0
|
@ -12,7 +12,8 @@
|
||||||
|
|
||||||
(define (contract-tests)
|
(define (contract-tests)
|
||||||
(test-suite "Contract Tests"
|
(test-suite "Contract Tests"
|
||||||
(t (-Number . -> . -Number))))
|
(t (-Number . -> . -Number))
|
||||||
|
(t (-Promise -Number))))
|
||||||
|
|
||||||
(define-go contract-tests)
|
(define-go contract-tests)
|
||||||
(provide contract-tests)
|
(provide contract-tests)
|
||||||
|
|
|
@ -199,6 +199,9 @@
|
||||||
#`(box/c #,(t->c t))]
|
#`(box/c #,(t->c t))]
|
||||||
[(Pair: t1 t2)
|
[(Pair: t1 t2)
|
||||||
#`(cons/c #,(t->c t1) #,(t->c t2))]
|
#`(cons/c #,(t->c t1) #,(t->c t2))]
|
||||||
|
[(Promise: t)
|
||||||
|
(when flat? (exit (fail)))
|
||||||
|
#`(promise/c #,(t->c t))]
|
||||||
[(Opaque: p? cert)
|
[(Opaque: p? cert)
|
||||||
#`(flat-named-contract (quote #,(syntax-e p?)) #,(cert p?))]
|
#`(flat-named-contract (quote #,(syntax-e p?)) #,(cert p?))]
|
||||||
[(F: v) (cond [(assoc v (vars)) => second]
|
[(F: v) (cond [(assoc v (vars)) => second]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user