[asdf-devel] About asdf:*compile-file-failure-behaviour* and its value on SBCL

Nikodemus Siivola nikodemus at random-state.net
Sun Mar 20 01:38:55 UTC 2011


On 20 March 2011 03:06, Zach Beane <xach at xach.com> wrote:

> "Chun Tian (binghe)" <binghe.lisp at gmail.com> writes:

>> (defclass a-class ()
>>   ((slot :type 'a-subclass)))
>>
>> (defclass a-subclass (a-class)
>>   ())
>>
>> When compiling the first class definition, SBCL warn that the type
>> A-SUBCLASS haven't been defined
>
> I can't reproduce. Is this an oversimplification of your actual
> problem?

Me neither, but...

(declaim (optimize safety))

(defclass a-class ()
 ((slot :type 'a-subclass)))

(defclass a-subclass (a-class)
 ())

(defmethod foo ((x a-class) y)
  (setf (slot-value x 'slot) y))

gives:

; caught WARNING:
;   Undefined type 'A-SUBCLASS. The name starts with QUOTE: probably use of a
;   quoted type name in a context where the name is not evaluated.

Replace 'a-subclass with a-subclass, and modern (1.0.45.11 or later, I
would guess) SBCL is silent and happy. (Though really SBCL _should_
complain about the quote even without the OPTIMIZE SAFETY and
DEFMETHOD FOO...) :P

Cheers,

 -- Nikodemus




More information about the asdf-devel mailing list