0.7.8.7:
[sbcl.git] / tests / clos.impure.lisp
index eb3c5d4..d3a76aa 100644 (file)
   ;; forbidden &AUX
   (dislike '(defgeneric gf-for-ll-test-13 (x y z &optional a &aux g h)))
   (like    '(defgeneric gf-for-ll-test-14 (x y z &optional a)))
+  (dislike '(defgeneric gf-for-ll-test-bare-aux-1 (x &aux)))
+  (like    '(defgeneric gf-for-ll-test-bare-aux-2 (x)))
   ;; also can't use bogoDEFMETHODish type-qualifier-ish decorations
   ;; on required arguments
   (dislike '(defgeneric gf-for-11-test-15 ((arg t))))
 (defmethod gf (obj)
   obj)
 \f
+;;; Until sbcl-0.7.7.20, some conditions weren't being signalled, and
+;;; some others were of the wrong type:
+(macrolet ((assert-program-error (form)
+            `(multiple-value-bind (value error)
+                 (ignore-errors ,form)
+               (assert (null value))
+               (assert (typep error 'program-error)))))
+  (assert-program-error (defclass foo001 () (a b a)))
+  (assert-program-error (defclass foo002 () 
+                         (a b) 
+                         (:default-initargs x 'a x 'b)))
+  (assert-program-error (defclass foo003 ()
+                         ((a :allocation :class :allocation :class))))
+  (assert-program-error (defclass foo004 ()
+                         ((a :silly t)))))
+\f
 ;;;; success
 
 (sb-ext:quit :unix-status 104)