diff --git a/ansi-tests/ignorable.lsp b/ansi-tests/ignorable.lsp index 08a3754e96ff832c30b90437c887c2b29cde324d..9f1b3c0648cee733be6c5694ba5bd685c332e49b 100644 --- a/ansi-tests/ignorable.lsp +++ b/ansi-tests/ignorable.lsp @@ -23,3 +23,34 @@ (declare (ignorable (function %f))) (%f)) foo) + +;;; TODO: add a test for (function (setf foo)) + +(deftest ignorable.5 + (flet (((setf %f) (x y) nil)) + (declare (ignorable (function (setf %f)))) + :good) + :good) + +(deftest ignorable.6 + (flet (((setf %f) (x y) (setf (car y) x))) + (declare (ignorable (function (setf %f)))) + (let ((z (cons 'a 'b))) + (values (setf (%f z) 'c) z))) + c (c . b)) + +(deftest ignorable.7 + (labels (((setf %f) (x y) nil)) + (declare (ignorable (function (setf %f)))) + :good) + :good) + +(deftest ignorable.8 + (labels (((setf %f) (x y) (setf (car y) x))) + (declare (ignorable (function (setf %f)))) + (let ((z (cons 'a 'b))) + (values (setf (%f z) 'c) z))) + c (c . b)) + + +