master: Fix a compile-time type error on bad arguments to concatenate

stassats via Sbcl-commits <[email protected]> Thu, 16 Jul 2026 14:27:31 +0000
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  eda10e3e572cd31b257c27ed1a71682a9892c468 (commit)
      from  b1c1f00f62c886f6d12fb60b9a28b81dcffa0088 (commit)

- Log -----------------------------------------------------------------
commit eda10e3e572cd31b257c27ed1a71682a9892c468
Author: Stas Boukarev <[email protected]>
Date:   Thu Jul 16 17:24:54 2026 +0300

    Fix a compile-time type error on bad arguments to concatenate
    
    Fixes lp#2160747
---
 src/compiler/array-tran.lisp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp
index b3a2ca36f..15a30dfb8 100644
--- a/src/compiler/array-tran.lisp
+++ b/src/compiler/array-tran.lisp
@@ -379,8 +379,10 @@
 (defun constant-array-element-type (constant key)
   (when constant
     (or (getf (leaf-info constant) key)
-        (setf (getf (leaf-info constant) key)
-              (constant-sequence-element-type (constant-value constant) key)))))
+        (let ((value (constant-value constant)))
+          (when (typep value '(or array list))
+            (setf (getf (leaf-info constant) key)
+                  (constant-sequence-element-type (constant-value constant) key)))))))
 
 (defun sequence-elements-type (sequence &optional key (constants t))
   (or (and constants

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL