diff --git a/library/generic/generic.factor b/library/generic/generic.factor index 8016a9188a..8160a217bb 100644 --- a/library/generic/generic.factor +++ b/library/generic/generic.factor @@ -74,6 +74,9 @@ math-internals ; : define-method ( class generic definition -- ) -rot + over metaclass word? [ + word-name " is not a class" append throw + ] unless [ "methods" word-prop set-hash ] keep dup make-generic ; diff --git a/library/test/generic.factor b/library/test/generic.factor index 95fbdb788c..c5fada852d 100644 --- a/library/test/generic.factor +++ b/library/test/generic.factor @@ -156,4 +156,4 @@ M: number union-containment drop 2 ; ! Testing recovery from bad method definitions "GENERIC: unhappy" eval [ "M: vocabularies unhappy ;" eval ] unit-test-fails -[ ] [ "GENERIC: unhapy" eval ] unit-test +[ ] [ "GENERIC: unhappy" eval ] unit-test