From 6539163f5e6f5eb91ed3d154042f2a2407914aff Mon Sep 17 00:00:00 2001 From: gerd <gerd> Date: Mon, 4 Aug 2003 17:30:03 +0000 Subject: [PATCH] * src/code/type.lisp (hairy complex-=): Do some more work for unknown types. From SBCL. --- code/type.lisp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/code/type.lisp b/code/type.lisp index b3a947569..af19d71cd 100644 --- a/code/type.lisp +++ b/code/type.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/type.lisp,v 1.63 2003/07/03 12:14:03 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/type.lisp,v 1.64 2003/08/04 17:30:03 gerd Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1538,8 +1538,17 @@ (values nil nil)) (define-type-method (hairy :complex-=) (type1 type2) - (declare (ignore type1 type2)) - (values nil nil)) + (if (and (unknown-type-p type2) + (let* ((specifier2 (unknown-type-specifier type2)) + (name2 (if (consp specifier2) + (car specifier2) + specifier2))) + (info type kind name2))) + (let ((type2 (specifier-type (unknown-type-specifier type2)))) + (if (unknown-type-p type2) + (values nil nil) + (type= type1 type2))) + (values nil nil))) (define-type-method (hairy :simple-intersection :complex-intersection) (type1 type2) -- GitLab