0.8.1.20:
[sbcl.git] / tests / compiler-1.impure-cload.lisp
index eea3feb..8f89da4 100644 (file)
 ;;; bug 31 turned out to be a manifestation of non-ANSI array type
 ;;; handling, fixed by CSR in sbcl-0.7.3.8.
 (defun array-element-type-handling (x)
+  (declare (optimize safety))
   (declare (type (vector cons) x))
   (when (consp (aref x 0))
     (aref x 0)))
-(assert (eq (array-element-type-handling
-            (make-array 3 :element-type t :initial-element 0))
-           nil))
+(assert (raises-error?
+        (array-element-type-handling
+         (make-array 3 :element-type t :initial-element 0))
+        type-error))
 
 ;;; bug 220: type check inserted after all arguments in MV-CALL caused
 ;;; failure of stack analysis
                        nil)
                '(444 #*0000)))
 
+(defstruct some-structure a)
+(eval-when (:compile-toplevel)
+  ;; in the big CLASS reorganization in pre8, this would fail with
+  ;; SOME-STRUCTURE-A is not FBOUNDP.  Fixed in 0.pre8.64
+  (find-class 'some-structure nil))
+(eval-when (:load-toplevel)
+  (assert (typep (find-class 'some-structure) 'class)))
+
 (sb-ext:quit :unix-status 104) ; success