original commit: 5c23d2c871bdbbaee31e202da9ac85dced6e66fc
This commit is contained in:
Robby Findler 2005-01-28 15:26:17 +00:00
parent d8595d683a
commit 59f6cf4f44
2 changed files with 3 additions and 0 deletions

View File

@ -783,6 +783,8 @@ add struct contracts for immutable structs?
(define (make-opt->/proc method-proc? stx) (define (make-opt->/proc method-proc? stx)
(syntax-case stx (any) (syntax-case stx (any)
[(_ (reqs ...) (opts ...) any)
(make-opt->*/proc method-proc? (syntax (opt->* (reqs ...) (opts ...) any)))]
[(_ (reqs ...) (opts ...) res) [(_ (reqs ...) (opts ...) res)
(make-opt->*/proc method-proc? (syntax (opt->* (reqs ...) (opts ...) (res))))])) (make-opt->*/proc method-proc? (syntax (opt->* (reqs ...) (opts ...) (res))))]))

View File

@ -119,6 +119,7 @@
(test/no-error '(opt-> (integer?) (integer?) integer?)) (test/no-error '(opt-> (integer?) (integer?) integer?))
(test/no-error '(opt-> ((flat-contract integer?)) ((flat-contract integer?)) (flat-contract integer?))) (test/no-error '(opt-> ((flat-contract integer?)) ((flat-contract integer?)) (flat-contract integer?)))
(test/no-error '(opt-> ((flat-contract integer?)) ((flat-contract integer?)) any))
(test/no-error '(opt->* (integer?) (integer?) (integer?))) (test/no-error '(opt->* (integer?) (integer?) (integer?)))
(test/no-error '(opt->* ((flat-contract integer?)) ((flat-contract integer?)) ((flat-contract integer?)))) (test/no-error '(opt->* ((flat-contract integer?)) ((flat-contract integer?)) ((flat-contract integer?))))
(test/no-error '(opt->* (integer?) (integer?) any)) (test/no-error '(opt->* (integer?) (integer?) any))