debugger invoked on a SB-INT:BUG in thread 27726:
fasl stack not empty when it should be
-334: "COMPUTE-SLOTS used to add slots to classes"
- (reported by Bruno Haible sbcl-devel 2004-06-01)
- a. Adding a local slot does not work:
- (use-package "SB-PCL")
- (defclass b (a) ())
- (defmethod compute-slots ((class (eql (find-class 'b))))
- (append (call-next-method)
- (list (make-instance 'standard-effective-slot-definition
- :name 'y
- :allocation :instance))))
- (defclass a () ((x :allocation :class)))
- ;; A should now have a shared slot, X, and a local slot, Y.
- (mapcar #'slot-definition-location (class-slots (find-class 'b)))
- yields
- There is no applicable method for the generic function
- #<STANDARD-GENERIC-FUNCTION CLASS-SLOTS (3)>
- when called with arguments
- (NIL).
-
- b. Adding a class slot does not work:
- (use-package "SB-PCL")
- (defclass b (a) ())
- (defmethod compute-slots ((class (eql (find-class 'b))))
- (append (call-next-method)
- (list (make-instance 'standard-effective-slot-definition
- :name 'y
- :allocation :class))))
- (defclass a () ((x :allocation :class)))
- ;; A should now have two shared slots, X and Y.
- (mapcar #'slot-definition-location (class-slots (find-class 'b)))
- yields
- There is no applicable method for the generic function
- #<STANDARD-GENERIC-FUNCTION SB-PCL::CLASS-SLOT-CELLS (1)>
- when called with arguments
- (NIL).
-
336: "slot-definitions must retain the generic functions of accessors"
reported by Tony Martinez:
(defclass foo () ((bar :reader foo-bar)))