Don't return (AND ... (NOT SIMPLE-ARRAY)) from TYPE-OF.
commit7dfdf1224921ab0696e95702c1cdf08203c1bf78
authorDouglas Katzman <dougk@google.com>
Wed, 28 May 2014 00:28:28 +0000 (27 20:28 -0400)
committerDouglas Katzman <dougk@google.com>
Wed, 28 May 2014 01:49:26 +0000 (27 21:49 -0400)
treef1e9d575532459a0579c8c020eb0ff5734746cf5
parent62d5ccb791234b9b2f5b6b7da970c30eb194653a
Don't return (AND ... (NOT SIMPLE-ARRAY)) from TYPE-OF.

Unparsing a CTYPE allows negation unless the result is for TYPE-OF.
Based on an examination of uses of TYPE-OF within the compiler
it did not seem important to have another mode in which TYPE-OF
would be allowed to return negations for internal reasons.

INVALID-ARRAY-INDEX-ERROR uses TYPE-OF on an array, and it's just
as well to avoid mentioning the non-simpleness for readability,
but could easily be restored with (type-specifier (ctype-of ...))
if so desired. INSPECT might want that behavior back as well.

Fixes lp#1317308.
NEWS
src/code/late-type.lisp
src/code/pred.lisp
tests/type.pure.lisp