[armedbear-ticket] [armedbear] #119: Unexpected CLOS shared slot initialization order
armedbear
armedbear-devel at common-lisp.net
Wed Jan 5 11:55:37 UTC 2011
#119: Unexpected CLOS shared slot initialization order
--------------------------------------+-------------------------------------
Reporter: mevenson | Owner: analysis
Type: defect | Status: new
Priority: major | Milestone: unscheduled
Component: CLOS | Version: 1.0
Keywords: clos unexpected-behavior |
--------------------------------------+-------------------------------------
Didier Verner writes:
{{{
it seems that until now, I've been relying on a non-standard behavior,
namely the fact that shared slots with an :initform are initialized
before the first actual class instance is created:
(defclass test () ((slot :allocation :class :initform t)))
(defmethod initialize-instance :before ((test test) &key)
(format t "Slot boundp: ~A~%" (slot-boundp test 'slot)))
CL-USER> (make-instance 'test)
Slot boundp: NIL
#<TEST {C5D3B8}>
CL-USER> (make-instance 'test)
Slot boundp: T
#<TEST {14563D4}>
CL-USER>
I just fell on this because every other Common Lisp implementation I've
tried gives T and T here. Is it due to the way CLOS is implemented in
ABCL, and is there a chance that this can be improved?
}}}
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/119>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
More information about the armedbear-ticket
mailing list