From 5a9b8108ec90b0f004cbf285f81a6c2e9087ca33 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Fri, 6 Jul 1990 17:06:39 +0000
Subject: [PATCH] Fixed CONSTRAIN-REF-TYPE to not lose when we substitute one
 variable for another due to an EQL constraint.

---
 compiler/constraint.lisp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/compiler/constraint.lisp b/compiler/constraint.lisp
index 566594090..ab6a4530a 100644
--- a/compiler/constraint.lisp
+++ b/compiler/constraint.lisp
@@ -313,12 +313,12 @@
   (let ((var-cons (copy-sset constraints)))
     (sset-intersection var-cons in)
     (let ((res (single-value-type (node-derived-type ref)))
-	  (not-res *empty-type*))
+	  (not-res *empty-type*)
+	  (leaf (ref-leaf ref)))
       (do-elements (con var-cons)
 	(let* ((x (constraint-x con))
 	       (y (constraint-y con))
 	       (not-p (constraint-not-p con))
-	       (leaf (ref-leaf ref))
 	       (other (if (eq x leaf) y x))
 	       (kind (constraint-kind con)))
 	  (case kind
-- 
GitLab