.
original commit: 40c3d85334a84236cb316d4358ffb5264dac9e32
This commit is contained in:
parent
bd2008d8f0
commit
0bf5499d00
|
@ -2084,7 +2084,8 @@ add struct contracts for immutable structs?
|
|||
...
|
||||
[rng-id ((coerce/select-contract stx-name rng) pos-blame neg-blame src-info orig-str)])
|
||||
(let ([res-id (rng-id (val (dom-id x) ...))])
|
||||
(check-post-expr->pp/h post-expr src-info pos-blame neg-blame orig-str))))))]
|
||||
(check-post-expr->pp/h post-expr src-info pos-blame neg-blame orig-str)
|
||||
res-id)))))]
|
||||
[_
|
||||
(raise-syntax-error name "unknown result specification" stx (syntax result-stuff))]))))))]
|
||||
[(_ ([x dom] ...) pre-expr . result-stuff)
|
||||
|
|
|
@ -899,6 +899,74 @@
|
|||
'->r22
|
||||
'((contract (->r () rst (listof number?) any/c) (lambda w 1) 'pos 'neg) #f))
|
||||
|
||||
|
||||
(test/spec-passed/result
|
||||
'->r23
|
||||
'((contract (->r ((i number?) (j (and/c number? (>=/c i)))) number?)
|
||||
(λ (i j) 1)
|
||||
'pos
|
||||
'neg)
|
||||
1
|
||||
2)
|
||||
1)
|
||||
|
||||
(test/spec-passed/result
|
||||
'->r24
|
||||
'((contract (->r ((i number?) (j (and/c number? (>=/c i)))) any)
|
||||
(λ (i j) 1)
|
||||
'pos
|
||||
'neg)
|
||||
1
|
||||
2)
|
||||
1)
|
||||
|
||||
(test/spec-passed/result
|
||||
'->r25
|
||||
'(call-with-values
|
||||
(λ ()
|
||||
((contract (->r ((i number?) (j (and/c number? (>=/c i)))) (values [x number?] [y number?]))
|
||||
(λ (i j) (values 1 2))
|
||||
'pos
|
||||
'neg)
|
||||
1
|
||||
2))
|
||||
list)
|
||||
'(1 2))
|
||||
|
||||
(test/spec-passed/result
|
||||
'->r26
|
||||
'((contract (->r ((i number?) (j (and/c number? (>=/c i)))) rest-args any/c number?)
|
||||
(λ (i j . z) 1)
|
||||
'pos
|
||||
'neg)
|
||||
1
|
||||
2)
|
||||
1)
|
||||
|
||||
(test/spec-passed/result
|
||||
'->r27
|
||||
'((contract (->r ((i number?) (j (and/c number? (>=/c i)))) rest-args any/c any)
|
||||
(λ (i j . z) 1)
|
||||
'pos
|
||||
'neg)
|
||||
1
|
||||
2)
|
||||
1)
|
||||
|
||||
(test/spec-passed/result
|
||||
'->r28
|
||||
'(call-with-values
|
||||
(λ ()
|
||||
((contract (->r ((i number?) (j (and/c number? (>=/c i)))) rest-args any/c (values [x number?] [y number?]))
|
||||
(λ (i j . z) (values 1 2))
|
||||
'pos
|
||||
'neg)
|
||||
1
|
||||
2))
|
||||
list)
|
||||
'(1 2))
|
||||
|
||||
|
||||
(test/pos-blame
|
||||
'->pp1
|
||||
'((contract (->pp ([x number?]) (= x 1) number? result (= x 2))
|
||||
|
|
Loading…
Reference in New Issue
Block a user