0.8alpha.0.32:
[sbcl.git] / tests / compiler.pure.lisp
index 6c9dfb8..74c91db 100644 (file)
 
 ;;; another LET-related bug fixed by Alexey Dejneka at the same
 ;;; time as bug 112
-(multiple-value-bind (value error)
-    (ignore-errors
-      ;; should complain about duplicate variable names in LET binding
-      (compile nil
-              '(lambda ()
-                 (let (x
-                       (x 1))
-                   (list x)))))
-  (assert (null value))
-  (assert (typep error 'error)))
+(multiple-value-bind (fun warnings-p failure-p)
+    ;; should complain about duplicate variable names in LET binding
+    (compile nil
+            '(lambda ()
+              (let (x
+                    (x 1))
+                (list x))))
+  (declare (ignore warnings-p))
+  (assert (functionp fun))
+  (assert failure-p))
 
 ;;; bug 169 (reported by Alexey Dejneka 2002-05-12, fixed by David
 ;;; Lichteblau 2002-05-21)
 ;;; Moellmann: CONVERT-MORE-CALL failed on the following call
 (assert (eq (eval '((lambda (&key) 'u) :allow-other-keys nil)) 'u))
 
+;;; Bug relating to confused representation for the wild function
+;;; type:
+(assert (null (funcall (eval '(lambda () (multiple-value-list (values)))))))
+
 ;;; &ENVIRONMENT parameter should be bound first (from Paul Dietz'
-;;; test suit)
+;;; test suite)
 (assert (eql (macrolet ((foo () 1))
                (macrolet ((%f (&optional (x (macroexpand '(foo) env)) &environment env)
                             x))
                                        (bar))))
                        (error (c)
                          (values nil t t))))))
+
+(assert (typep (eval `(the arithmetic-error
+                          ',(make-condition 'arithmetic-error)))
+              'arithmetic-error))