bug-5.rkt (830B)
1 #lang racket/base 2 (require subtemplate/override 3 rackunit) 4 (check-equal?(syntax->datum 5 (let () 6 (define/syntax-parse ({~optional 7 {~or k:keyword b:boolean i:nat}} 8 {~and {~or (v …) s:str}} …) 9 #'(#:a-keyword (1 2 3 4) "foo" (5 6))) 10 #'(l (?@@ (?? (v …)) …)))) 11 '(l 1 2 3 4 5 6)) 12 13 14 (check-equal? (syntax->datum 15 (let () 16 (define/syntax-parse ({~optional 17 {~or k:keyword b:boolean i:nat}} 18 {~and {~or (v …) s:str}} …) 19 #'(#:a-keyword (1 2 3 4) "foo" (5 6))) 20 #'(l (?@@ (?? (v …)) …)))) 21 '(l 1 2 3 4 5 6)) 22