X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.impure.lisp;h=9a2aed6a25681dcbf36e505df55cb106325c731a;hb=3a8bfcb01abe4d8eeb9ef1343d623dbbf57c19d9;hp=a43a80f6c2866402a7d9a8a944740fefd5c7dc40;hpb=2bdf5a3484eda55b0d4b9313aa6b3505b6d7cbd8;p=sbcl.git diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index a43a80f..9a2aed6 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -752,6 +752,17 @@ BUG 48c, not yet fixed: (declare (type (vector (unsigned-byte 8)) x)) (setq *y* (the (unsigned-byte 8) (aref x 4)))) +;;; FUNCTION-LAMBDA-EXPRESSION should return something that's COMPILE +;;; can understand. Here's a simple test for that on a function +;;; that's likely to return a hairier list than just a lambda: +(macrolet ((def (fn) `(progn + (declaim (inline ,fn)) + (defun ,fn (x) (1+ x))))) + (def bug228)) +(let ((x (function-lambda-expression #'bug228))) + (when x + (assert (= (funcall (compile nil x) 1) 2)))) + ;;;; tests not in the problem domain, but of the consistency of the ;;;; compiler machinery itself