summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lisp/internal-reader-syntax.lisp6
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))))