X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fpackage-locks.impure.lisp;h=18e8bba106a269461f6ded777a4889610b0fd035;hb=e66288cd5588b336b79a7e19f1c884e4e3263d53;hp=6781308d06bb34439a8fd6f1d51951e05c913a30;hpb=25d4ea4f108159b9782f21212374a1631cfe9a56;p=sbcl.git diff --git a/tests/package-locks.impure.lisp b/tests/package-locks.impure.lisp index 6781308..18e8bba 100644 --- a/tests/package-locks.impure.lisp +++ b/tests/package-locks.impure.lisp @@ -294,11 +294,17 @@ (setf (test:function) 1))) ;; ftype + ;; + ;; The interpreter doesn't do anything with ftype declarations + #+#.(cl:if (cl:eq sb-ext:*evaluator-mode* :compile) '(and) '(or)) (test:function . (locally (declare (ftype function test:function)) (cons t t))) ;; type + ;; + ;; Nor with type declarations + #+#.(cl:if (cl:eq sb-ext:*evaluator-mode* :compile) '(and) '(or)) (test:num . (locally (declare (type fixnum test:num)) (cons t t))) @@ -309,6 +315,7 @@ (cons t t))) ;; declare ftype + #+#.(cl:if (cl:eq sb-ext:*evaluator-mode* :compile) '(and) '(or)) (test:numfun . (locally (declare (ftype (function (fixnum) fixnum) test:numfun)) (cons t t))))) @@ -468,6 +475,8 @@ (defmethod pcl-type-declaration-method-bug ((test:*special* stream)) test:*special*) (assert (eq *terminal-io* (pcl-type-declaration-method-bug *terminal-io*))) + +#+#.(cl:if (cl:eq sb-ext:*evaluator-mode* :compile) '(and) '(or)) (assert (raises-error? (eval '(defmethod pcl-type-declaration-method-bug ((test:*special* stream)) @@ -475,4 +484,9 @@ test:*special*)) program-error)) +;;; Bogus package lock violations from LOOP + +(assert (equal (loop :for *print-base* :from 2 :to 3 :collect *print-base*) + '(2 3))) + ;;; WOOT! Done.