+
+(with-test (:name :invalid-array-index-error)
+ (let ((array (make-array '(3 3 3))))
+ (assert
+ (eq :right
+ (handler-case
+ (eval `(aref ,array 0 1 3))
+ (sb-int:invalid-array-index-error (e)
+ (when (and (eq array (sb-kernel::invalid-array-index-error-array e))
+ (= 3 (type-error-datum e))
+ (equal '(integer 0 (3)) (type-error-expected-type e)))
+ :right)))))))
+
+(with-test (:name :out-of-bounds-error-details)
+ (assert (eq :good
+ (handler-case
+ (flet ((test (array i)
+ (aref array i)))
+ (test (eval '(vector 0 1 2 3)) 6))
+ (sb-int:invalid-array-index-error (e)
+ (when (and (equal '(integer 0 (4))
+ (type-error-expected-type e))
+ (eql 6 (type-error-datum e)))
+ :good))))))
+
+(with-test (:name :odd-keys-for-make-array)
+ (assert (eq :good
+ (handler-case
+ (compile nil '(lambda (m) (make-array m 1)))
+ (simple-warning () :good)))))
+
+
+(with-test (:name :bug-1096359)
+ (let ((a (make-array 1 :initial-element 5)))
+ (assert (equalp (adjust-array a 2 :initial-element 10)
+ #(5 10)))))
+
+(with-test (:name (:make-array-transform-unknown-type :bug-1156095))
+ (assert
+ (handler-case
+ (compile nil `(lambda () (make-array '(1 2)
+ :element-type ',(gensym))))
+ (style-warning ()
+ t)
+ (:no-error (&rest args)
+ nil))))