0.8.4.30:
[sbcl.git] / src / code / deftypes-for-target.lisp
index 0559ce2..4e657c9 100644 (file)
        (t
         (error "bad size specified for UNSIGNED-BYTE type specifier: ~S" s))))
 
+;;; ANSI got UNSIGNED-BYTE wrong, prohibiting (UNSIGNED-BYTE 0).
+;;; Since this is actually a substantial impediment to clarity...
+(sb!xc:deftype unsigned-byte* (&optional s)
+  (cond
+    ((eq s '*) '(integer 0))
+    ((zerop s) '(integer 0 0))
+    (t `(unsigned-byte ,s))))
+
 (sb!xc:deftype bit () '(integer 0 1))
 
 (sb!xc:deftype compiled-function () 'function)