0.8.16.10:
[sbcl.git] / src / compiler / generic / primtype.lisp
index f0ab8a9..962b22f 100644 (file)
         (ecase (named-type-name type)
           ((t *) (values *backend-t-primitive-type* t))
           ((nil) (any))))
+       (character-set-type
+        (let ((pairs (character-set-type-pairs type)))
+          (if (and (= (length pairs) 1)
+                   (= (caar pairs) 0)
+                   (= (cdar pairs) (1- sb!xc:char-code-limit)))
+              (exactly character)
+              (part-of character))))
        (built-in-classoid
         (case (classoid-name type)
           ((complex function instance
            (values (primitive-type-or-lose (classoid-name type)) t))
           (funcallable-instance
            (part-of function))
-          (character
-           (exactly character))
           (cons-type
            (part-of list))
           (t