X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcross-type.lisp;h=72d50923e9ab887aea612fe9b8115eb4885acd01;hb=7dfa54273d2ebc6c2be9a39ab5cd6df639d340c9;hp=1ffb2c299c155711684036e5c4498f8ba4000107;hpb=2f796d4527e80a3023a12f7291ef1b637b68d988;p=sbcl.git diff --git a/src/code/cross-type.lisp b/src/code/cross-type.lisp index 1ffb2c2..72d5092 100644 --- a/src/code/cross-type.lisp +++ b/src/code/cross-type.lisp @@ -289,6 +289,12 @@ ;; trivial. (and (every/type #'cross-typep host-object rest)) (or (any/type #'cross-typep host-object rest)) + (not + (multiple-value-bind (value surep) + (cross-typep host-object (car rest)) + (if surep + (values (not value) t) + (warn-and-give-up)))) ;; If we want to work with the KEYWORD type, we need ;; to grok (SATISFIES KEYWORDP). (satisfies