X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fvm-type.lisp;h=279ec9d6b36a462fdfee8a331039a16820e32c90;hb=4dbc52ee4f9a4f566701f1d33e7916e8491b918b;hp=2e0621cfead7e9123589518e13f5c444262266d3;hpb=9347abeb5f42dc83d372c19b14e86204a6a588dd;p=sbcl.git diff --git a/src/compiler/generic/vm-type.lisp b/src/compiler/generic/vm-type.lisp index 2e0621c..279ec9d 100644 --- a/src/compiler/generic/vm-type.lisp +++ b/src/compiler/generic/vm-type.lisp @@ -130,7 +130,12 @@ (defun specialize-array-type (type) (let ((eltype (array-type-element-type type))) (setf (array-type-specialized-element-type type) - (if (eq eltype *wild-type*) + (if (or (eq eltype *wild-type*) + ;; This is slightly dubious, but not as dubious as + ;; assuming that the upgraded-element-type should be + ;; equal to T, given the way that the AREF + ;; DERIVE-TYPE optimizer works. -- CSR, 2002-08-19 + (unknown-type-p eltype)) *wild-type* (dolist (stype-name *specialized-array-element-types* *universal-type*)