Complex array type does not have corresponding type specifier
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Low
|
Unassigned |
Bug Description
This is a problem because the compiler emits optimization notes when
you use a non-simple array, and without a type specifier for hairy
array types, there's no good way to tell it you're doing it
intentionally so that it should shut up and just compile the code.
Another problem is confusing error message "asserted type ARRAY
conflicts with derived type (VALUES SIMPLE-VECTOR &OPTIONAL)" during
compiling (LAMBDA (V) (VALUES (SVREF V 0) (VECTOR-POP V))).
The last problem is that when type assertions are converted to type
checks, types are represented with type specifiers, so we could lose
complex attribute. (Now this is probably not important, because
currently checks for complex arrays seem to be performed by
callees.)
Changed in sbcl: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
importance: | Medium → Low |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
Hi,
status fixcommitted
done
I committed a fix for this in sbcl-1.0.32.31; this should make it into a
release in the next week or so.
Christophe