From: Andras S. <as...@ma...> - 2007-01-19 01:46:49
|
Macroexpanding the form (loop with foo of-type (single-float 1.0 2.0) = 1.5) fails with 0 can't be converted to type (SINGLE-FLOAT 1.0 2.0). [Condition of type SIMPLE-TYPE-ERROR] Where does this 0 come from? The same form with (single-float 1.0 2.0) replaced by (single-float 0.0 2.0) expands into (BLOCK NIL (LET ((FOO 1.5)) (DECLARE (TYPE (SINGLE-FLOAT 0.0 2.0) FOO)) (SB-LOOP::LOOP-BODY NIL NIL NIL NIL NIL))) and if I change (SINGLE-FLOAT 0.0 2.0) back to (SINGLE-FLOAT 1.0 2.0) here, the resulting form compiles with no complaints. (I tried this with 0.9.17.7/x86 and 1.0.1.24/x86_64, both on Linux) Andras |