SUBTYPEP and array simplicity problem
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Douglas Katzman |
Bug Description
(deftype octets () '(array (unsigned-byte 8) (*)))
(deftype simple-octets () '(and (array (unsigned-byte 8) (*)) simple-array))
The first SUBTYPEP expression should return T and T, or, if we can't do better, then NIL and NIL since it involves AND and negation.
* (subtypep '(and octets (not simple-octets)) '(and octets (not simple-array)))
NIL
T
* (subtypep '(and octets (not simple-array)) '(and octets (not simple-octets)))
T
T
Alternatively, without a user-defined type:
* (subtypep '(and base-string (not simple-
NIL
T
* (subtypep '(and base-string (not simple-array)) '(and base-string (not simple-
T
T
This is not a recent problem (tested it on various random release from 1.3.14 through now)
Changed in sbcl: | |
assignee: | nobody → Douglas Katzman (dougk) |
status: | New → Fix Committed |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |