X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fcode%2Fearly-type.lisp;h=ae5dbd66d3097f24d32433997ed078fb0174e9f3;hb=58ff25d134554f86b15d1978ae21861ccbe70f3d;hp=4bb7c97d61cf53d3221cc9ffbef12589c94bf237;hpb=2217cdb364e8b48c187b085895bb2a5cbdbd9622;p=sbcl.git diff --git a/src/code/early-type.lisp b/src/code/early-type.lisp index 4bb7c97..ae5dbd6 100644 --- a/src/code/early-type.lisp +++ b/src/code/early-type.lisp @@ -38,6 +38,18 @@ (defstruct (unknown-type (:include hairy-type) (:copier nil))) +(defstruct (negation-type (:include ctype + (class-info (type-class-or-lose 'negation)) + ;; FIXME: is this right? It's + ;; what they had before, anyway + (enumerable t) + (might-contain-other-types-p t)) + (:copier nil) + #!+cmu (:pure nil)) + (type (missing-arg) :type ctype)) + +(!define-type-class negation) + ;;; ARGS-TYPE objects are used both to represent VALUES types and ;;; to represent FUNCTION types. (defstruct (args-type (:include ctype)