complex and arrays that are definitely complex. (launchpad bug #309129)
* bug fix: SUBTYPEP knows that the SYMBOL type is not SUBTYPEP the KEYWORD
type. (reported by Levente Mészáros; launchpad bug #485972)
+ * bug fix: setting the value of a symbol-macro within a method in the
+ presence of type declarations works properly again. (reported by Iban
+ Hatchondo; launchpad bug #485019)
changes in sbcl-1.0.32 relative to sbcl-1.0.31:
* optimization: faster FIND and POSITION on strings of unknown element type
(let* ((type (env-var-type var env))
(expanded (if (eq t type)
`(setf ,(cddr symmac) ,val)
- `(setf ,(cddr symmac) `(the ,type ,val))))
+ `(setf ,(cddr symmac) (the ,type ,val))))
(walked (walk-form-internal expanded context env)))
(if (eq expanded walked)
form
(assert (= 42 (slot-value (make-instance 'remove-default-initargs-test)
'x))))
\f
+(with-test (:name :bug-485019)
+ ;; there was a bug in WALK-SETQ, used in method body walking, in the
+ ;; presence of declarations on symbol macros.
+ (defclass bug-485019 ()
+ ((array :initarg :array)))
+ (defmethod bug-485019 ((bug-485019 bug-485019))
+ (with-slots (array) bug-485019
+ (declare (type (or null simple-array) array))
+ (setf array (make-array 4)))
+ bug-485019)
+ (bug-485019 (make-instance 'bug-485019)))
+
;;;; success
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.32.36"
+"1.0.32.37"