X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Ftypetran.lisp;h=976b54a88c08ed95f8a1a580f4802a8c6e776507;hb=6a9bbe6f36179cee92001a1f9ed5ff38be512644;hp=3956ca8148c41562e8f15796208bdf71a7954cb4;hpb=57e21c4b62e8c1a1ee7ef59ed2abb0c864fb06bc;p=sbcl.git diff --git a/src/compiler/typetran.lisp b/src/compiler/typetran.lisp index 3956ca8..976b54a 100644 --- a/src/compiler/typetran.lisp +++ b/src/compiler/typetran.lisp @@ -243,13 +243,13 @@ ;;; Do source transformation for TYPEP of a known union type. If a ;;; union type contains LIST, then we pull that out and make it into a -;;; single LISTP call. Note that if SYMBOL is in the union, then LIST -;;; will be a subtype even without there being any (member NIL). We -;;; just drop through to the general code in this case, rather than -;;; trying to optimize it. +;;; single LISTP call. Note that if SYMBOL is in the union, then LIST +;;; will be a subtype even without there being any (member NIL). We +;;; currently just drop through to the general code in this case, +;;; rather than trying to optimize it (but FIXME CSR 2004-04-05: it +;;; wouldn't be hard to optimize it after all). (defun source-transform-union-typep (object type) (let* ((types (union-type-types type)) - (type-list (specifier-type 'list)) (type-cons (specifier-type 'cons)) (mtype (find-if #'member-type-p types)) (members (when mtype (member-type-members mtype))))