From 13afdf96f22bca769650ca3385fc04113b2291d2 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Mon, 15 Oct 1990 17:39:31 +0000
Subject: [PATCH] [Ram] Fixed FIND-OPTIONAL-DISPATCH-TYPES to not gag if there
 is a &rest arg in the definition and not in the type.  (This case only
 happens if there is an &key in the type, since otherwise we punt before
 them.)

---
 compiler/ctype.lisp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/compiler/ctype.lisp b/compiler/ctype.lisp
index c3fd0fd62..453e16ab5 100644
--- a/compiler/ctype.lisp
+++ b/compiler/ctype.lisp
@@ -652,7 +652,10 @@
 			  (setq win nil)))))
 		(:required (res (pop req)))
 		(:optional (res (pop opt)))
-		(:rest (res (function-type-rest type))))
+		(:rest
+		 (let ((rest (function-type-rest type)))
+		   (when rest
+		     (res rest)))))
 	      (vars arg)
 	      (when (arg-info-supplied-p info)
 		(res *universal-type*)
-- 
GitLab