Here's an example of my problem:

(defun test (a b)
  (declare (optimize (speed 3))
           (type fixnum a)
           (type fixnum b))
  (loop for x from a to b
        do (print (* x x))))

It seems like the compiler should be able figure out that x is a fixnum.
But I'm getting a whole slew of notes about an inability to do inline
arithmetic when I compile this (CMUCL 19a).

Is there a way to use loop without losing on type declarations like this?


Reply via email to