make-array transform for list dimensions fails on unknown element-type
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Reported by Kenjin on #lisp. I cut down to a smaller test case.
(defpackage #:temp-kenjin
(:use #:cl))
(in-package #:temp-kenjin)
(defparameter *world* nil)
;(defclass tile () ())
(defun reset ()
(setf *world* (make-array '(30 40) :element-type 'tile)))
Compiling this will get you a compile-time error about an unknown type TILE, or more specifically that upgraded-
*features*
(:SWANK :QUICKLISP :SB-BSD-
:COMMON-LISP :SBCL :SB-DOC :SB-TEST :SB-LDB :SB-PACKAGE-LOCKS :SB-UNICODE
:SB-EVAL :SB-SOURCE-
:OS-PROVIDES-
:OS-PROVIDES-PUTWC :OS-PROVIDES-DLADDR :OS-PROVIDES-DLOPEN :LITTLE-ENDIAN
:LINKAGE-TABLE :MULTIPLY-HIGH-VOPS :MEMORY-
:CYCLE-COUNTER :ALIEN-CALLBACKS :STACK-
:STACK-
:STACK-
:UNWIND-
:STACK-
:LINUX :ELF :UNIX :X86)
sbcl --version
SBCL 1.0.57.66-5783625
I know mine's a bit old, but my patch is against what I pulled from git and it doesn't seem to have been fixed.
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
commit e3b6a3e3ee72b4b ee3909a1876b33b d3bf6fa596
Author: Stas Boukarev <email address hidden>
Date: Sun Mar 17 12:53:47 2013 +0400
make-array transform error on unknown element-type.
Check for the type to be known, otherwise give up transforming.
Based on a patch by James Kalenius.