Raymond Toy <[EMAIL PROTECTED]> writes: > Earlier versions would trust your declared element-type, but later > versions took this out as being unsafe because the compiler and > runtime couldn't really prove it was true.
Such trust would also violate the standard. If #.(UPGRADED-ARRAY-ELEMENT-TYPE 'foo) and #.(UPGRADED-ARRAY-ELEMENT-TYPE 'bar) are type equivalent, then (ARRAY foo) and (ARRAY bar) must also be type equivalent. (It appears to me that the standard does not require (UPGRADED-ARRAY-ELEMENT-TYPE (UPGRADED-ARRAY-ELEMENT-TYPE 'foo)) to be always equivalent to (UPGRADED-ARRAY-ELEMENT-TYPE 'foo). That is, even if (UPGRADED-ARRAY-ELEMENT-TYPE '(SIGNED-BYTE 10)) were FIXNUM, (UPGRADED-ARRAY-ELEMENT-TYPE 'FIXNUM) could be T.)
