1.0.28.55: transform FILL to a UB*-BASH-FILL when possible
[sbcl.git] / tests / seq.impure.lisp
index f6e79d3..ddc416d 100644 (file)
                                      standard bashed)
               ;; fill vectors
               ;; a) the standard slow way
-              (fill standard c :start offset :end (+ offset n))
+              (locally (declare (notinline fill))
+                (fill standard c :start offset :end (+ offset n)))
               ;; b) the blazingly fast way
               (let ((value (loop for i from 0 by bitsize
                                  until (= i sb-vm:n-word-bits)
 
 ;;; FILL on lists
 (let ((l (list 1 2 3)))
-  (fill l 0 :start 1 :end 2)
+  (assert (eq l (fill l 0 :start 1 :end 2)))
   (assert (equal l '(1 0 3)))
-  (fill l 'x :start 2 :end 3)
+  (assert (eq l (fill l 'x :start 2 :end 3)))
   (assert (equal l '(1 0 x)))
-  (fill l 'y :start 1)
+  (assert (eq l (fill l 'y :start 1)))
   (assert (equal l '(1 y y)))
-  (fill l 'z :end 2)
+  (assert (eq l (fill l 'z :end 2)))
   (assert (equal l '(z z y)))
-  (fill l 1)
+  (assert (eq l (fill l 1)))
   (assert (equal l '(1 1 1)))
   (assert (raises-error? (fill l 0 :start 4)))
   (assert (raises-error? (fill l 0 :end 4)))