0.8.12.10: Fix bug 338: "MOP specializers as type specifiers"
[sbcl.git] / tests / smoke.impure.lisp
index d5e86b3..c07bc1b 100644 (file)
   (defconstant +const+ 3))
 (assert (= (oidentity +const+) 3))
 
+;;; MULTIPLE-VALUE-BIND and lambda list keywords
+(multiple-value-bind (&rest &optional &key &allow-other-keys)
+    (values 1 2 3)
+  (assert (= &rest 1))
+  (assert (= &optional 2))
+  (assert (= &key 3))
+  (assert (null &allow-other-keys)))
+
+(let ((fn (lambda (&foo &rest &bar) (cons &foo &bar))))
+  (assert (equal (funcall fn 1) '(1)))
+  (assert (equal (funcall fn 1 2 3) '(1 2 3))))
+
 ;;; success
 (quit :unix-status 104)