X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fearly-type.lisp;h=8dcb9c70b6069db83715c59027c915bcace78425;hb=409c08485fd358c78107d91f9e3aec4d17b3fd0d;hp=5e21ecffc9df17f44218c50d80f06c0b5428eaf4;hpb=63cef087068afc157283c0a05ae1f16b962303aa;p=sbcl.git diff --git a/src/code/early-type.lisp b/src/code/early-type.lisp index 5e21ecf..8dcb9c7 100644 --- a/src/code/early-type.lisp +++ b/src/code/early-type.lisp @@ -23,10 +23,11 @@ ;;; the original type spec. (defstruct (hairy-type (:include ctype (class-info (type-class-or-lose 'hairy)) - (enumerable t)) + (enumerable t) + (might-contain-other-types-p t)) (:copier nil) #!+cmu (:pure nil)) - ;; the Common Lisp type-specifier + ;; the Common Lisp type-specifier of the type we represent (specifier nil :type t)) (!define-type-class hairy) @@ -230,7 +231,8 @@ ;;; A COMPOUND-TYPE is a type defined out of a set of types, the ;;; common parent of UNION-TYPE and INTERSECTION-TYPE. -(defstruct (compound-type (:include ctype) +(defstruct (compound-type (:include ctype + (might-contain-other-types-p t)) (:constructor nil) (:copier nil)) (types nil :type list :read-only t))