Steel Bank Common Lisp

Overly agressive array type checks in dead code

Reported by Jan Moringen on 2013-11-17
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

What I do:
(defun f (foo) (etypecase foo ((array t (* *)) (when (= (array-rank foo) 3) (array-dimension foo 2)))))

What happens:
; in: DEFUN F
; (ARRAY-DIMENSION FOO 2)
;
; caught WARNING:
; The array has dimensions (* *), 2 is too large.
;
; compilation unit finished
; caught 1 WARNING condition

What I expected to happen:
The code should compile without warnings or errors.

run-sbcl.sh --version
(running SBCL from: /home/jmoringe/code/cl/SBCL)
SBCL 1.1.8.60.master.217-82ccfc0

Jan Moringen (scymtym) on 2013-11-17
description: updated
Stas Boukarev (stassats) wrote :

Fixed in 792668aff416a047bb3df218d448d8660303d1db. Now it's an unreachable code deletion notice.

Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers