From 6ff40d6cf3d3c9627633779da678300fcbdd7e67 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 25 Apr 2005 23:56:56 +0000 Subject: [PATCH] defining a generic on something that is not a class would ruin the generic --- library/generic/generic.factor | 3 +++ library/test/generic.factor | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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