From 64a96f5310d72ad164aa0e5b871188c354f32f6b Mon Sep 17 00:00:00 2001 From: Olexiy Zamkoviy Date: Tue, 4 Nov 2014 22:59:15 +0200 Subject: [PATCH] Fixing unspecialized-array-test --- src/types.lisp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/types.lisp b/src/types.lisp index e265efc..6100e58 100644 --- a/src/types.lisp +++ b/src/types.lisp @@ -133,14 +133,17 @@ be affected. (defun-speedy box-array (object) (assert (not (cdr (array-dimensions object)))) (declaim (notinline general-box-array)) - (etypecase object - (simple-array - (typecase object - ,@(loop for (class . type) in types - collect `((array ,type) (,(specialized-class-array-boxer-name class) object))) - (t (general-box-array object)))) - (array - (general-box-array object))))))) + (handler-case + (etypecase object + (simple-array + (typecase object + ,@(loop for (class . type) in types + collect `((array ,type) (,(specialized-class-array-boxer-name class) object))) + (t (general-box-array object)))) + (array + (general-box-array object))) + (type-error (err) + (general-box-array object))))))) (defmacro define-box-array (array-boxer-name box-class lisp-type &key convertor (array-class 'mm-array))