Better error message for non-existent generics groups.
Closes PR13671.
(cherry picked from commit aac22e1ce5
)
This commit is contained in:
parent
c1ddadf05d
commit
8ae7e16a62
|
@ -319,7 +319,8 @@
|
|||
(raise-syntax-error #f
|
||||
"not a name for a generics group"
|
||||
gen:foo gen:foo))
|
||||
(unless (identifier? gen:foo) (bad-generics))
|
||||
(unless (and (identifier? gen:foo) (identifier-binding gen:foo))
|
||||
(bad-generics))
|
||||
(define gen:foo-val (syntax-local-value gen:foo))
|
||||
(unless (and (list? gen:foo-val)
|
||||
(>= (length gen:foo-val) 1))
|
||||
|
|
14
collects/tests/generic/errors.rkt
Normal file
14
collects/tests/generic/errors.rkt
Normal file
|
@ -0,0 +1,14 @@
|
|||
#lang racket/base
|
||||
|
||||
(require racket/generic unstable/macro-testing)
|
||||
|
||||
(module+ test
|
||||
(require rackunit)
|
||||
|
||||
(check-exn #rx"not a name for a generics group"
|
||||
(lambda () (convert-compile-time-error
|
||||
(struct foo () #:methods 3))))
|
||||
(check-exn #rx"not a name for a generics group"
|
||||
(lambda () (convert-compile-time-error
|
||||
(struct foo () #:methods bad))))
|
||||
)
|
|
@ -9,6 +9,7 @@
|
|||
(submod "equal+hash.rkt" test)
|
||||
(submod "custom-write.rkt" test)
|
||||
(submod "defaults.rkt" test)
|
||||
(submod "errors.rkt" test)
|
||||
"syntax-errors.rkt"
|
||||
"base-interfaces.rkt"
|
||||
"contract.rkt"
|
||||
|
|
Loading…
Reference in New Issue
Block a user