X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fclos.impure.lisp;h=46a36a8ba82e094a6645a9cd53e972e986680fab;hb=20954a1e7add5779b855d9d6e6444314e77df3f5;hp=4b0f1db2a23554fa3749f31974f3e96472048dfe;hpb=091c101153942c9452a05ce0ec72f31a22608d9f;p=sbcl.git diff --git a/tests/clos.impure.lisp b/tests/clos.impure.lisp index 4b0f1db..46a36a8 100644 --- a/tests/clos.impure.lisp +++ b/tests/clos.impure.lisp @@ -1743,5 +1743,38 @@ (assert (eq :defined-method (sb-int:info :function :where-from 'i-dont-want-to-be-clobbered-2)))) + +(with-test (:name :bogus-parameter-specializer-name-error) + (assert (eq :ok + (handler-case + (eval `(defmethod #:fii ((x "a string")) 'string)) + (sb-int:reference-condition (c) + (when (member '(:ansi-cl :macro defmethod) + (sb-int:reference-condition-references c) + :test #'equal) + :ok)))))) + +(defclass remove-default-initargs-test () + ((x :initarg :x :initform 42))) +(defclass remove-default-initatgs-test () + ((x :initarg :x :initform 42)) + (:default-initargs :x 0)) +(defclass remove-default-initargs-test () + ((x :initarg :x :initform 42))) +(with-test (:name :remove-default-initargs) + (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