X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Farray.lisp;h=36ceafbfa5a0f6df45f00bcb0b68f05c109de2ae;hb=aa61c7571b33b86981301f34d3acdb66666f53a3;hp=b5a380bca2b7718fc5298b202e842f5a47dd3ef0;hpb=50305b602c3953440af716137a56f50cd204375d;p=sbcl.git diff --git a/src/code/array.lisp b/src/code/array.lisp index b5a380b..36ceafb 100644 --- a/src/code/array.lisp +++ b/src/code/array.lisp @@ -489,7 +489,7 @@ (defun array-element-type (array) #!+sb-doc "Return the type of the elements of the array" - (let ((type (get-type array))) + (let ((widetag (widetag-of array))) (macrolet ((pick-element-type (&rest stuff) `(cond ,@(mapcar #'(lambda (stuff) (cons @@ -498,11 +498,11 @@ t) ((listp item) (cons 'or - (mapcar #'(lambda (x) - `(= type ,x)) + (mapcar (lambda (x) + `(= widetag ,x)) item))) (t - `(= type ,item)))) + `(= widetag ,item)))) (cdr stuff))) stuff)))) ;; FIXME: The data here are redundant with