X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fcompiler.pure.lisp;h=9eac7fb3ecaf5e8fac388f688b942cb5f4d9d671;hb=550e5afc7ad95ff1e1bbfe932bf8dd81b0c4dce6;hp=73a6c7d9c249357d99871534f54c57c41445d512;hpb=22b42bc82a73c166564c76a3501a952f02d52da1;p=sbcl.git diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index 73a6c7d..9eac7fb 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -114,3 +114,29 @@ (assert (functionp fun)) (assert (not warnings-p)) (assert (not failure-p)))) + +;;; a bug in 0.7.4.11 +(dolist (i '(a b 1 2 "x" "y")) + ;; In sbcl-0.7.4.11, the compiler tried to source-transform the + ;; TYPEP here but got confused and died, doing + ;; (ASSOC '(AND INTEGERP (SATISFIES PLUSP))) + ;; *BACKEND-TYPE-PREDICATES* + ;; :TEST #'TYPE=) + ;; and blowing up because TYPE= tried to call PLUSP on the + ;; characters of the MEMBER-TYPE representing STANDARD-CHAR. + (when (typep i '(and integer (satisfies oddp))) + (print i))) +(dotimes (i 14) + (when (typep i '(and integer (satisfies oddp))) + (print i))) + +;;; bug 156 (reported by APD sbcl-devel 2002-04-12, fixed by CSR patch +;;; sbcl-devel 2002-07-02): FUNCTION-LAMBDA-EXPRESSION of +;;; interactively-compiled functions was broken by sleaziness and +;;; confusion in the assault on 0.7.0, so this expression used to +;;; signal TYPE-ERROR when it found NIL instead of a DEBUG-SOURCE. +(eval '(function-lambda-expression #'(lambda (x) x))) + +;;; bug caught and fixed by Raymond Toy cmucl-imp 2002-07-10: &REST +;;; variable is not optional. +(assert (null (ignore-errors (eval '(funcall (lambda (&rest) 12))))))