Commit f96dffed authored by Pascal Costanza's avatar Pascal Costanza
Browse files

Added reports about the results of the tests whether subclasses of specified...

Added reports about the results of the tests whether subclasses of specified metaobject classes inherit any exported slots. See MOP Feature Tests for more details.

darcs-hash:4534d4b849a303f855c692e41232ca1db1c18614
parent 36c95943
......@@ -20,6 +20,19 @@
:slot-boundp-using-class-specialized-on-slot-definition (fixed)
:slot-makunbound-using-class-specialized-on-slot-definition (fixed)
:standard-class-and-funcallable-standard-class-are-compatible (no)
:subclasses-of-built-in-class-do-not-inherit-exported-slots (no)
:subclasses-of-forward-referenced-class-do-not-inherit-exported-slots (no)
:subclasses-of-funcallable-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-method-combination-do-not-inherit-exported-slots (no)
:subclasses-of-standard-accessor-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-standard-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-reader-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-writer-method-do-not-inherit-exported-slots (no)
:t-is-always-a-valid-superclass (no)
:allegro8.0
......@@ -42,6 +55,19 @@
:slot-boundp-using-class-specialized-on-slot-definition (fixed)
:slot-makunbound-using-class-specialized-on-slot-definition (fixed)
:standard-class-and-funcallable-standard-class-are-compatible (no)
:subclasses-of-built-in-class-do-not-inherit-exported-slots (no)
:subclasses-of-forward-referenced-class-do-not-inherit-exported-slots (no)
:subclasses-of-funcallable-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-method-combination-do-not-inherit-exported-slots (no)
:subclasses-of-standard-accessor-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-standard-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-reader-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-writer-method-do-not-inherit-exported-slots (no)
:t-is-always-a-valid-superclass (no)
:clisp2.35-2.36
......@@ -57,6 +83,7 @@
:method-lambdas-are-processed (no)
:reinitialize-instance-calls-compute-discriminating-function (no)
:remove-method-calls-compute-discriminating-function (no)
:subclasses-of-method-combination-do-not-inherit-exported-slots (no)
:clisp2.37-2.38
:accessor-method-initialized-with-function (no)
......@@ -70,6 +97,7 @@
:method-lambdas-are-processed (no)
:reinitialize-instance-calls-compute-discriminating-function (no)
:remove-method-calls-compute-discriminating-function (no)
:subclasses-of-method-combination-do-not-inherit-exported-slots (no)
:cmu
:accessor-method-initialized-with-function (fixed)
......@@ -92,6 +120,24 @@
:setf-generic-function-name-calls-reinitialize-instance (no)
:slot-definition-documentation (fixed)
:standard-class-and-funcallable-standard-class-are-compatible (no)
:subclasses-of-built-in-class-do-not-inherit-exported-slots (no)
:subclasses-of-class-do-not-inherit-exported-slots (no)
:subclasses-of-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-eql-specializer-do-not-inherit-exported-slots (no)
:subclasses-of-forward-referenced-class-do-not-inherit-exported-slots (no)
:subclasses-of-funcallable-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-specializer-do-not-inherit-exported-slots (no)
:subclasses-of-standard-accessor-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-standard-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-reader-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-writer-method-do-not-inherit-exported-slots (no)
:lispworks4.4
:add-method-calls-add-direct-method (fixed)
......@@ -137,6 +183,23 @@
:specializer-direct-generic-functions (fixed)
:standard-class-and-funcallable-standard-class-are-compatible (no)
:standard-instance-access (no)
:subclasses-of-built-in-class-do-not-inherit-exported-slots (no)
:subclasses-of-class-do-not-inherit-exported-slots (no)
:subclasses-of-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-forward-referenced-class-do-not-inherit-exported-slots (no)
:subclasses-of-funcallable-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-accessor-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-standard-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-reader-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-writer-method-do-not-inherit-exported-slots (no)
:mcl
:add-method-calls-compute-discriminating-function (no)
......@@ -172,6 +235,17 @@
:setf-class-name-calls-reinitialize-instance (no)
:slot-definition (fixed)
:standard-slot-definition (fixed)
:subclasses-of-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-accessor-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-standard-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-reader-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-writer-method-do-not-inherit-exported-slots (no)
:openmcl
:add-method-calls-compute-discriminating-function (no)
......@@ -195,6 +269,18 @@
:compute-slots-requested-slot-order-honoured (no)
:eql-specializer (fixed)
:slot-definition-documentation (fixed)
:subclasses-of-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-accessor-method-do-not-inherit-exported-slot (no)
:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-standard-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-reader-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-writer-method-do-not-inherit-exported-slots (no)
:sbcl
:accessor-method-initialized-with-function (fixed)
......@@ -205,3 +291,23 @@
:class-initialization-calls-reader-method-class (fixed)
:class-initialization-calls-writer-method-class (fixed)
:method-initialized-with-function (no)
:subclasses-of-built-in-class-do-not-inherit-exported-slots (no)
:subclasses-of-class-do-not-inherit-exported-slots (no)
:subclasses-of-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-eql-specializer-do-not-inherit-exported-slots (no)
:subclasses-of-forward-referenced-class-do-not-inherit-exported-slots (no)
:subclasses-of-funcallable-standard-class-do-not-inherit-exported-slot (no)
:subclasses-of-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-method-combination-do-not-inherit-exported-slots (no)
:subclasses-of-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-specializer-do-not-inherit-exported-slots (no)
:subclasses-of-standard-accessor-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-class-do-not-inherit-exported-slots (no)
:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-generic-function-do-not-inherit-exported-slots (no)
:subclasses-of-standard-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-reader-method-do-not-inherit-exported-slots (no)
:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots (no)
:subclasses-of-standard-writer-method-do-not-inherit-exported-slots (no)
......@@ -17,6 +17,7 @@ Allegro Common Lisp 7.0
- SLOT-BOUNDP-USING-CLASS and SLOT-MAKUNBOUND-USING-CLASS are not specialized on slot definition metaobjects, but on symbols. Fixed.
- STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS are not compatible. Not fixed.
- VALIDATE-SUPERCLASS doesn't recognize T as a valid superclass. Not fixed.
- Subclasses of BUILT-IN-CLASS, FORWARD-REFERENCED-CLASS, FUNCALLABLE-STANDARD-CLASS, METHOD-COMBINATION, STANDARD-ACCESSOR-METHOD, STANDARD-CLASS, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
Allegro Common Lisp 8.0
......@@ -34,6 +35,7 @@ Allegro Common Lisp 8.0
- SLOT-BOUNDP-USING-CLASS and SLOT-MAKUNBOUND-USING-CLASS are not specialized on slot definition metaobjects, but on symbols. Fixed.
- STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS are not compatible. Not fixed.
- VALIDATE-SUPERCLASS doesn't recognize T as a valid superclass. Not fixed.
- Subclasses of BUILT-IN-CLASS, FORWARD-REFERENCED-CLASS, FUNCALLABLE-STANDARD-CLASS, METHOD-COMBINATION, STANDARD-ACCESSOR-METHOD, STANDARD-CLASS, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
CLisp 2.35 and 2.36
......@@ -46,6 +48,7 @@ None of the incompatibilities in CLisp are fixed.
- The :ALLOCATION type cannot be extended. Not fixed.
- A FORWARD-REFERENCED-CLASS is not changed via CHANGE-CLASS (but is correctly reinitialized via REINITIALIZE-INSTANCE).
- MAKE-METHOD-LAMBDA is not provided.
- Subclasses of METHOD-COMBINATION will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
CLisp 2.37 and 2.38
......@@ -57,6 +60,7 @@ None of the incompatibilities in CLisp are fixed.
- DEFMETHOD does not call MAKE-METHOD-LAMBDA.
- A FORWARD-REFERENCED-CLASS is not changed via CHANGE-CLASS (but is correctly reinitialized via REINITIALIZE-INSTANCE).
- MAKE-METHOD-LAMBDA is not provided.
- Subclasses of METHOD-COMBINATION will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
CMUCL 19c
......@@ -72,6 +76,7 @@ CMUCL 19c
- REINITIALIZE-INSTANCE doesn't determine a new discriminating function. Fixed.
- (SETF CLASS-NAME) and (SETF GENERIC-FUNCTION-NAME) do not use REINITIALIZE-INSTANCE for changing the names. Fixed.
- STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS are not compatible. Not fixed.
- Subclasses of BUILT-IN-CLASS, CLASS, DIRECT-SLOT-DEFINITION, EFFECTIVE-SLOT-DEFINITION, EQL-SPECIALIZER, FORWARD-REFERENCED-CLASS, FUNCALLABLE-STANDARD-CLASS, SLOT-DEFINITION, SPECIALIZER, STANDARD-ACCESSOR-METHOD, STANDARD-CLASS, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
LispWorks, 4.4.5, 4.4.6, Personal and Professional Editions
......@@ -100,6 +105,8 @@ LispWorks, 4.4.5, 4.4.6, Personal and Professional Editions
- SPECIALIZER doesn't exist. Not fixed.
- SPECIALIZER-DIRECT-GENERIC-FUNCTIONS doesn't exist. Fixed.
- STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS are not compatible. Not fixed.
- Subclasses of BUILT-IN-CLASS, CLASS, DIRECT-SLOT-DEFINITION, EFFECTIVE-SLOT-DEFINITION, FORWARD-REFERENCED-CLASS, FUNCALLABLE-STANDARD-CLASS, SLOT-DEFINITION, STANDARD-ACCESSOR-METHOD, STANDARD-CLASS, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
MCL 5.1
......@@ -113,6 +120,7 @@ In MCL, generic functions work completely differently than specified. The specif
- The :ALLOCATION type cannot be extended. Not fixed.
- Multiple slot options are not passed as lists to DIRECT-SLOT-DEFINITION-CLASS. Not fixed, but use FIX-SLOT-INITARGS as a workaround.
- (SETF CLASS-NAME) doesn't use REINITIALIZE-INSTANCE for changing the names. Fixed.
- Subclasses of DIRECT-SLOT-DEFINITION, EFFECTIVE-SLOT-DEFINITION, SLOT-DEFINITION, STANDARD-ACCESSOR-METHOD, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
OpenMCL 1.0
......@@ -121,6 +129,7 @@ In OpenMCL, generic functions work completely differently than specified. The sp
- The slot order requested by a primary method for COMPUTE-SLOTS is not honoured by this MOP. Not fixed.
- EQL-SPECIALIZER is not exported. Fixed.
- DOCUMENTATION doesn't return the documentation strings for slot definition metaobjects. Fixed.
- Subclasses of DIRECT-SLOT-DEFINITION, EFFECTIVE-SLOT-DEFINITION, GENERIC-FUNCTION, SLOT-DEFINITION, STANDARD-ACCESSOR-METHOD, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
SBCL 0.9.7 - 0.9.9
......@@ -128,7 +137,7 @@ SBCL 0.9.7 - 0.9.9
- Classes cannot be anonymous. Fixed.
- Class initialization doesn't call READER-METHOD-CLASS and WRITER-METHOD-CLASS for accessor methods. Fixed.
- Methods are not initialized with :function. Not fixed.
- Subclasses of BUILT-IN-CLASS, CLASS, DIRECT-SLOT-DEFINITION, EFFECTIVE-SLOT-DEFINITION, EQL-SPECIALIZER, FORWARD-REFERENCED-CLASS, FUNCALLABLE-STANDARD-CLASS, GENERIC-FUNCTION, METHOD-COMBINATION, SLOT-DEFINITION, SPECIALIZER, STANDARD-ACCESSOR-METHOD, STANDARD-CLASS, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
Summary:
......@@ -155,3 +164,4 @@ Summary:
- In LispWorks, the class SPECIALIZER doesn't exist.
- If you need to rely on the generic function protocols, don't use MCL or OpenMCL (or be very careful - some minor things work there as specified).
- The declarations for a generic function cannot be inspected in MCL.
- All implementations define slots on various specified metaobject classes that are exported from some package and/or accessible in the package common-lisp-user. Only clisp is relatively safe in that it does that only for the class METHOD-COMBINATION.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment