X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.pure.lisp;h=801db54558bb521bb4dc12f4e1358c179dd90087;hb=30c596bd5ca6305812598f42ae408b60a4c5f5c5;hp=db2bfc494ab3ccecd7d58f9ee42b2d1fa2fa5ca8;hpb=7f9f1fd113d7047731bda9dab2c7719cdf092a21;p=sbcl.git diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index db2bfc4..801db54 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -2917,3 +2917,27 @@ :initial-element x))) 10 #c(1.0 2.0))))) + +(with-test (:name :regression-1.0.28.21) + (let ((fun (compile nil `(lambda (x) (typep x '(simple-array * 1)))))) + (assert (funcall fun (vector 1 2 3))) + (assert (funcall fun "abc")) + (assert (not (funcall fun (make-array '(2 2))))))) + +(with-test (:name :no-silly-compiler-notes-from-character-function) + (let (current) + (handler-bind ((compiler-note (lambda (e) (error "~S: ~A" current e)))) + (dolist (name '(char-code char-int character char-name standard-char-p + graphic-char-p alpha-char-p upper-case-p lower-case-p + both-case-p digit-char-p alphanumericp digit-char-p)) + (setf current name) + (compile nil `(lambda (x) + (declare (character x) (optimize speed)) + (,name x)))) + (dolist (name '(char= char/= char< char> char<= char>= char-equal + char-not-equal char-lessp char-greaterp char-not-greaterp + char-not-lessp)) + (setf current name) + (compile nil `(lambda (x y) + (declare (character x y) (optimize speed)) + (,name x y)))))))