From 76d1fbc48694f866da8550211255dbd06165de49 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Wed, 6 Jun 1990 13:49:57 +0000
Subject: [PATCH] Added use of *unparse-function-type-simplify* to prevent
 complex function types from being checked, even when they are buried in other
 types (like OR.)

---
 compiler/checkgen.lisp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/compiler/checkgen.lisp b/compiler/checkgen.lisp
index 1c1fe8ffe..3939c5116 100644
--- a/compiler/checkgen.lisp
+++ b/compiler/checkgen.lisp
@@ -279,13 +279,14 @@
 (defun make-type-check-form (types)
   (collect ((temps))
     (dotimes (i (length types))
-      (declare (ignore i))
       (temps (gensym)))
 
     `(multiple-value-bind ,(temps)
 			  'dummy
        ,@(mapcar #'(lambda (temp type)
-		     (let* ((spec (type-specifier (second type)))
+		     (let* ((spec
+			     (let ((*unparse-function-type-simplify* t))
+			       (type-specifier (second type))))
 			    (test (if (first type) `(not ,spec) spec)))
 		       `(unless (typep ,temp ',test)
 			  (%type-check-error
-- 
GitLab