X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftype.impure.lisp;h=6e4a2e82b8339c4eedfed4f6ccd9c88cad1d4d44;hb=1b650be8b800cf96e2c268ae317fb26d0bf36827;hp=441f6fffee3e2d1208207330ce33ff959dbcba1f;hpb=9719063b661a99d2cc2a1d9b2ea7dd81145ded59;p=sbcl.git diff --git a/tests/type.impure.lisp b/tests/type.impure.lisp index 441f6ff..6e4a2e8 100644 --- a/tests/type.impure.lisp +++ b/tests/type.impure.lisp @@ -102,10 +102,14 @@ (assert-nil-nil (subtypep '(vector t) '(vector utype-2))) ;;; ANSI specifically disallows bare AND and OR symbols as type specs. -#| ; Alas, this is part of bug 10, still unfixed as of sbcl-0.7.2. (assert (raises-error? (typep 11 'and))) (assert (raises-error? (typep 11 'or))) -|# +(assert (raises-error? (typep 11 'member))) +(assert (raises-error? (typep 11 'values))) +(assert (raises-error? (typep 11 'eql))) +(assert (raises-error? (typep 11 'satisfies))) +(assert (raises-error? (typep 11 'not))) + ;;; Of course empty lists of subtypes are still OK. (assert (typep 11 '(and))) (assert (not (typep 11 '(or)))) @@ -398,6 +402,13 @@ (deftype bar () 'single-float) (assert (eql (foo (make-array 3 :element-type 'bar :initial-element 0.0f0)) 0.0f0)) + +;;; bug 260a +(assert-t-t + (let* ((s (gensym)) + (t1 (sb-kernel:specifier-type s))) + (eval `(defstruct ,s)) + (sb-kernel:type= t1 (sb-kernel:specifier-type s)))) ;;; success (quit :unix-status 104)