Steel Bank Common Lisp

Overly agressive array type checks in dead code

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

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
; 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. --version
(running SBCL from: /home/jmoringe/code/cl/SBCL)

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