X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftype.pure.lisp;h=55e2575d41be194acb71f5d25aa47aa647fff297;hb=ba2010734297dc7e9b06b1199afc5bc806b50dfc;hp=3bddb5b99b65de85cdae25370a828f1cb6d13217;hpb=1cf230d59a80f5fba3b90b929e6ab61e9a6fbe84;p=sbcl.git diff --git a/tests/type.pure.lisp b/tests/type.pure.lisp index 3bddb5b..55e2575 100644 --- a/tests/type.pure.lisp +++ b/tests/type.pure.lisp @@ -289,3 +289,44 @@ ACTUAL ~D DERIVED ~D~%" '(cons (satisfies bar) t)) (assert (null cyes)) (assert (null cwin)))) + +(multiple-value-bind (yes win) + (subtypep 'generic-function 'function) + (assert yes) + (assert win)) +;;; this would be in some internal test suite like type.before-xc.lisp +;;; except that generic functions don't exist at that stage. +(multiple-value-bind (yes win) + (subtypep 'generic-function 'sb-kernel:funcallable-instance) + (assert yes) + (assert win)) + +;;; all sorts of answers are right for this one, but it used to +;;; trigger an AVER instead. +(subtypep '(function ()) '(and (function ()) (satisfies identity))) + +(assert (sb-kernel:unknown-type-p (sb-kernel:specifier-type 'an-unkown-type))) + +(assert + (sb-kernel:type= + (sb-kernel:specifier-type '(or (simple-array an-unkown-type (*)) + (simple-array an-unkown-type))) + (sb-kernel:specifier-type '(or (simple-array an-unkown-type (*)) + (simple-array an-unkown-type))))) + +(assert + (sb-kernel:type= + (sb-kernel:specifier-type '(simple-array an-unkown-type (*))) + (sb-kernel:specifier-type '(simple-array an-unkown-type (*))))) + +(assert + (not + (sb-kernel:type= + (sb-kernel:specifier-type '(simple-array an-unkown-type (*))) + (sb-kernel:specifier-type '(array an-unkown-type (*)))))) + +(assert + (not + (sb-kernel:type= + (sb-kernel:specifier-type '(simple-array an-unkown-type (7))) + (sb-kernel:specifier-type '(simple-array an-unkown-type (8))))))