~ chicken-core (chicken-5) 38a727defa7aa692d288c7075777b2c17d370684


commit 38a727defa7aa692d288c7075777b2c17d370684
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Dec 31 11:19:21 2024 +0100
Commit:     Peter Bex <peter@more-magic.net>
CommitDate: Thu Jan 2 10:31:17 2025 +0100

    avoid looping in type-resolution during scrutiny
    
    reported by Peter McGoron
    
    Signed-off-by: Peter Bex <peter@more-magic.net>

diff --git a/manual/Acknowledgements b/manual/Acknowledgements
index a8f939ad..da9047c4 100644
--- a/manual/Acknowledgements
+++ b/manual/Acknowledgements
@@ -32,7 +32,7 @@ David Krentzlin, Ben Kurtz, Sebastien Marie, Alice Maz, Michele La Monaca,
 Micky Latowicki, Kristian Lein-Mathisen, "LemonBoy", John Lenz,
 Kirill Lisovsky, Jürgen Lorenz, Kon Lovett, Lam Luu, Arthur Maciel,
 Vitaly Magerya, Leonardo Valeri Manera, Claude Marinier, Dennis Marti,
-Charles Martin, Bob McIsaac, "megane", Alain Mellan, Eric Merrit,
+Charles Martin, Peter McGoron, Bob McIsaac, "megane", Alain Mellan, Eric Merrit,
 Perry Metzger, Scott G. Miller, Mikael, Karel Miklav, Bruce Mitchener,
 Fadi Moukayed, Chris Moline, Eric E. Moore, Julian Morrison,
 Dan Muresan, David N. Murray, Timo Myyrä, "nicktick", Lars Nilsson,
diff --git a/scrutinizer.scm b/scrutinizer.scm
index a8a78852..2e31bce1 100644
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -1573,6 +1573,7 @@
 	    (lambda (a)
 	      (let ((t2 (second a)))
 		(if (or (not t2)
+            (memq t done)
 			(memq t2 done))	; circular reference
 		    (if (third a)
 			(resolve (third a) (cons t done))
Trap