diff options
-rw-r--r-- | Lisp/internal-reader-syntax.lisp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Lisp/internal-reader-syntax.lisp b/Lisp/internal-reader-syntax.lisp index b466163..2c38534 100644 --- a/Lisp/internal-reader-syntax.lisp +++ b/Lisp/internal-reader-syntax.lisp @@ -93,6 +93,10 @@ (arg-types (first typedecl-parts)) (return-types (second typedecl-parts))) `(progn - (declaim (ftype (function (,@arg-types) (values ,@return-types)) + (declaim (ftype (function (,@arg-types) + (values ,@return-types + ,@(unless + (member '&rest return-types) + '(&rest nil)))) ,function-name)) ,defun-form)))) |