1.0.36.37: fix minor regression from 1.0.36.33
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 23 Mar 2010 17:52:10 +0000 (17:52 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 23 Mar 2010 17:52:10 +0000 (17:52 +0000)
 * Don't patch the &REST into the type when it has * for args.

src/compiler/ctype.lisp
tests/compiler.impure.lisp
version.lisp-expr

index f853997..22ca449 100644 (file)
       (frob (- (optional-dispatch-max-args od) min) (length opt) "optional"))
     (flet ((frob (x y what)
              (unless (eq x y)
+               (break "~S" type)
                (note-lossage
                 "The definition ~:[doesn't have~;has~] ~A, but ~
                  ~A ~:[doesn't~;does~]."
            (optional-dispatch-p fun)
            (optional-dispatch-keyp fun)
            (optional-dispatch-more-entry fun)
-           (not (fun-type-rest type)))
+           (not (or (fun-type-rest type)
+                    (fun-type-wild-args type))))
       (make-fun-type :required (fun-type-required type)
                      :optional (fun-type-optional type)
                      :rest *universal-type*
index 70b7bc7..8f9b132 100644 (file)
   (apply #'sb-sequence:make-sequence-like sequence length keys))
 (with-test (:name :bug-458354)
   (assert (equalp #((a b) (a b)) (bug-458354 #(1 2) 2 :initial-element '(a b)))))
+
+(with-test (:name :bug-542807)
+  (handler-bind ((style-warning #'error))
+    (eval '(defstruct bug-542807 slot)))
+  (let (conds)
+    (handler-bind ((style-warning (lambda (c)
+                                    (push c conds))))
+      (eval '(defstruct bug-542807 slot)))
+    (assert (= 1 (length conds)))
+    (assert (typep (car conds) 'sb-kernel::redefinition-with-defun))))
 \f
 ;;;; tests not in the problem domain, but of the consistency of the
 ;;;; compiler machinery itself
index 1a99d4b..2216e11 100644 (file)
@@ -17,4 +17,4 @@
 ;;; 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.36.36"
+"1.0.36.37"