[Ecls-list] CL-Containers error on ECL

Greg Pfeil sellout42 at mac.com
Tue May 23 14:52:08 UTC 2006


I'm getting an error when I load the current version of CL-Containers 
in ECL. However, looking at the code, I don't see a problem. It seems 
to be happening in the CONTENTS-AS-HASHTABLE-MIXIN DEFCLASS form, when 
the contents accessor is declared.

 > (asdf:oos 'asdf:load-op :cl-containers)
...
;;; Compiling /home/pfeil/Lisp/cl-containers/dev/containers.lisp.
...
;;; Compiling (CLOS::INSTALL-METHOD 'MAKE-CONTAINER-FOR-CONTENTS ...).
;;; Warning: The variable OBJECT is not used.
;;; Compiling (DEFCLASS CONTENTS-AS-HASHTABLE-MIXIN ...).
;;; Warning: Class KEY-VALUE-ITERATABLE-CONTAINER-MIXIN has been 
forward referenced.
There is no method on the generic function CONTENTS that agrees on 
qualifiers NIL and specializers (#<The STANDARD-CLASS 
CONTENTS-AS-HASHTABLE-MIXIN>)
Broken at LAMBDA.
METABANG.CL-CONTAINERS>>

It's a DEFCLASS* macro:

(DEFCLASS CONTENTS-AS-HASHTABLE-MIXIN (USES-CONTENTS-MIXIN
                                        
KEY-VALUE-ITERATABLE-CONTAINER-MIXIN
                                        FINDABLE-CONTAINER-MIXIN)
   ((CONTENTS :ACCESSOR CONTENTS)))

but the expansion looks fine to me, too:

(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
   (PROGN
     (PROGN
       (DEFCLASS CONTENTS-AS-HASHTABLE-MIXIN (USES-CONTENTS-MIXIN
                                              
KEY-VALUE-ITERATABLE-CONTAINER-MIXIN
                                              FINDABLE-CONTAINER-MIXIN)
         ((CONTENTS :ACCESSOR CONTENTS)))
       (VALUES 'CONTENTS-AS-HASHTABLE-MIXIN))
     (SETF (METABANG.UTILITIES::DEFCLASS*-SUPERCLASSES 
'CONTENTS-AS-HASHTABLE-MIXIN)
           '(USES-CONTENTS-MIXIN KEY-VALUE-ITERATABLE-CONTAINER-MIXIN
             FINDABLE-CONTAINER-MIXIN))
     'CONTENTS-AS-HASHTABLE-MIXIN))

If I remove that form, it happens at the next one. However, there are 
many DEFCLASS* forms _before_ this point, which all compile fine, 
apparently.





More information about the ecl-devel mailing list