1.0.36.27: less mprotect calls in GENCGC
[sbcl.git] / tests / loop.pure.lisp
index cae55c5..84a833a 100644 (file)
 ;;; Loop variable with a range excluding 0, reported by Andras Simon.
 ;;; (Used to signal an error during macroexpansion.)
 (assert (not (loop with foo of-type (single-float 1.0 2.0) = 1.5 do (return))))
+
+;;; 1.0.26.12 used to signal a bogus type error for this.
+(loop with x of-type (simple-vector 1) = (make-array '(1))
+      repeat 1
+      return x)
+
+(with-test (:name :bug-540186)
+  (let ((fun (compile nil `(lambda (x)
+                             (loop for i from 0 below (length x)
+                                   for vec of-type vector = (aref x i)
+                                   collect vec)))))
+    (assert (equal '("foo" "bar")
+             (funcall fun
+                      (vector "foo" "bar"))))))