X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftype.pure.lisp;h=085ba7114c141f5fe439a9d69d80154c196c7a38;hb=93b89755004549ed5f20d1938fd6e54ee20650b2;hp=c4b282ab3644c97871730153215466502a366bf8;hpb=3a8bfcb01abe4d8eeb9ef1343d623dbbf57c19d9;p=sbcl.git diff --git a/tests/type.pure.lisp b/tests/type.pure.lisp index c4b282a..085ba71 100644 --- a/tests/type.pure.lisp +++ b/tests/type.pure.lisp @@ -43,16 +43,7 @@ array generic-function simple-error - ;; so it might seem easy to change the HAIRY - ;; :UNPARSE method to recognize that (NOT - ;; CONS) should unparse as ATOM. However, we - ;; then lose the nice (SUBTYPEP '(NOT ATOM) - ;; 'CONS) => T,T behaviour that we get from - ;; simplifying (NOT ATOM) -> (NOT (NOT CONS)) - ;; -> CONS. So, for now, we leave this - ;; commented out. - ;; - ;; atom + atom hash-table simple-string base-char @@ -169,7 +160,6 @@ (subtypep '(function) '(function (t &rest t)))) '(nil t))) -#+nil (assert (and (subtypep 'function '(function)) (subtypep '(function) 'function))) @@ -200,3 +190,14 @@ '(cons single-float single-float)))) (assert (subtypep '(cons integer single-float) '(or (cons fixnum single-float) (cons bignum single-float)))) + +(assert (not (nth-value 1 (subtypep '(and null some-unknown-type) + 'another-unknown-type)))) + +;;; bug 46c +(dolist (fun '(and if)) + (assert (raises-error? (coerce fun 'function) type-error))) + +(dotimes (i 100) + (let ((x (make-array 0 :element-type `(unsigned-byte ,(1+ i))))) + (eval `(typep ,x (class-of ,x)))))