From: Christophe R. <cr...@us...> - 2009-11-20 21:40:13
|
Update of /cvsroot/sbcl/sbcl/tests In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv31849/tests Modified Files: clos.impure.lisp Log Message: 1.0.32.37: declarations and symbol-macros in methods A stray backquote caused compilation warnings and run-time errors if, within a method, a symbol macro with a type declaration was given a new value with SETQ. Fixes bug #485019, reported by Iban Hatchondo Index: clos.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/clos.impure.lisp,v retrieving revision 1.106 retrieving revision 1.107 diff -u -d -r1.106 -r1.107 --- clos.impure.lisp 18 Sep 2009 09:42:39 -0000 1.106 +++ clos.impure.lisp 20 Nov 2009 21:40:04 -0000 1.107 @@ -1765,4 +1765,16 @@ (assert (= 42 (slot-value (make-instance 'remove-default-initargs-test) 'x)))) +(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 |