]> gitweb.factorcode.org Git - factor.git/commitdiff
classes: call reset-generic on predicate word to avoid redefinition problems (reporte...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 15 Feb 2010 05:34:45 +0000 (18:34 +1300)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 15 Feb 2010 05:34:45 +0000 (18:34 +1300)
core/classes/classes-tests.factor
core/classes/classes.factor

index 10a5f674bd8fabfc68f50f8b38ddaa0c525b0c07..2b02d7c5a18363c9f650d065698f1b3f988682e7 100644 (file)
@@ -119,3 +119,9 @@ TUPLE: forgotten-predicate-test ;
 
 [ ] [ [ \ forgotten-predicate-test forget ] with-compilation-unit ] unit-test
 [ f ] [ \ forgotten-predicate-test? predicate? ] unit-test
+
+GENERIC: generic-predicate? ( a -- b )
+
+[ ] [ "IN: classes.tests TUPLE: generic-predicate ;" eval( -- ) ] unit-test
+
+[ f ] [ \ generic-predicate? generic? ] unit-test
index 6d68ad7fb4ef5a02d2a13f1d4679215d82718f04..a730636ca9327c27c624db6521cb379bcfd31afa 100644 (file)
@@ -60,7 +60,8 @@ PRIVATE>
 : classes ( -- seq ) implementors-map get keys ;
 
 : create-predicate-word ( word -- predicate )
-    [ name>> "?" append ] [ vocabulary>> ] bi create ;
+    [ name>> "?" append ] [ vocabulary>> ] bi
+    create dup reset-generic ;
 
 : predicate-word ( word -- predicate )
     "predicate" word-prop first ;