X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Flate-type.lisp;h=699271225315364359be4c2ab164a3ab70d19c40;hb=ef8fd235fa2ca39e444710d1bc275acbc8d3279c;hp=d78c38bd6229aa70d0189d519e9fdf146ec97908;hpb=a6bda328d1a33a5ad328ec97bed83d5c49c530e0;p=sbcl.git diff --git a/src/code/late-type.lisp b/src/code/late-type.lisp index d78c38b..6992712 100644 --- a/src/code/late-type.lisp +++ b/src/code/late-type.lisp @@ -307,6 +307,10 @@ ((csubtypep type1 (specifier-type 'function)) nil) (t :call-other-method))) (!define-type-method (function :complex-union2) (type1 type2) + (declare (ignore type2)) + ;; TYPE2 is a FUNCTION type. If TYPE1 is a classoid type naming + ;; FUNCTION, then it is the union of the two; otherwise, there is no + ;; special union. (cond ((type= type1 (specifier-type 'function)) type1) (t nil))) @@ -1031,11 +1035,6 @@ (!define-type-class named) -(defvar *wild-type*) -(defvar *empty-type*) -(defvar *universal-type*) -(defvar *universal-fun-type*) - (!cold-init-forms (macrolet ((frob (name var) `(progn @@ -1223,7 +1222,9 @@ (negation-type-type x)) (!define-type-method (negation :unparse) (x) - `(not ,(type-specifier (negation-type-type x)))) + (if (type= (negation-type-type x) (specifier-type 'cons)) + 'atom + `(not ,(type-specifier (negation-type-type x))))) (!define-type-method (negation :simple-subtypep) (type1 type2) (csubtypep (negation-type-type type2) (negation-type-type type1)))