diff --git a/pkgs/racket-test/tests/match/define-match.rkt b/pkgs/racket-test/tests/match/define-match.rkt index dfcb93a2d9..d278973393 100644 --- a/pkgs/racket-test/tests/match/define-match.rkt +++ b/pkgs/racket-test/tests/match/define-match.rkt @@ -55,3 +55,9 @@ (check-equal? (list-fun '(1 2 3)) #t) (check-equal? (list-fun '(4 5 6)) #f) + +(check-exn + #px"^define/match: no matching clause for #f$" + (λ () + (define/match (f x)) + (f #f))) diff --git a/racket/collects/racket/match/define-forms.rkt b/racket/collects/racket/match/define-forms.rkt index a3e438461b..db1124b9e6 100644 --- a/racket/collects/racket/match/define-forms.rkt +++ b/racket/collects/racket/match/define-forms.rkt @@ -170,7 +170,7 @@ (define-syntax (define/match stx) (syntax-parse stx [(_ ?header:function-header ?clause ...) - (template + (quasitemplate (define ?header - (match* (?? ?header.params) + (match*/derived (?? ?header.params) #,stx ?clause ...)))])))))