X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftype.pure.lisp;h=085ba7114c141f5fe439a9d69d80154c196c7a38;hb=fab1ba8d4e92ecb5d496577fc205675218911b1d;hp=fd8409eeeaf384aad710216b3de3db3ca6b096c2;hpb=0f2ae6ebc3520494b665a9dbf32c36c671334d36;p=sbcl.git diff --git a/tests/type.pure.lisp b/tests/type.pure.lisp index fd8409e..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))) @@ -199,4 +189,15 @@ (cons bignum single-float)) '(cons single-float single-float)))) (assert (subtypep '(cons integer single-float) - '(or (cons fixnum single-float) (cons bignum single-float)))) \ No newline at end of file + '(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)))))