Steel Bank Common Lisp

Lossy typecheck generation for singleton-type keyword arguments

Reported by Paul Khuong on 2011-07-26
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Medium
Unassigned

Bug Description

Hi,

The following is admittedly not common CL style, but seems legal to me.

,----
| * (lambda (a) (parse-integer "12321321" (the (member :start) a) 1))
| TYPE-ERROR: the value NIL is not of type SB-KERNEL:CTYPE.
|
| 0: (SB-KERNEL:VALUES-SUBTYPEP NIL #<SB-KERNEL:MEMBER-TYPE (MEMBER :START)>)[:EXTERNAL]
| 1: (SB-C::CAST-EXTERNALLY-CHECKABLE-P
| #<CAST
| :%TYPE-CHECK T
| :VALUE #<SB-C::LVAR 1 {1003027D21}>
| :ASSERTED-TYPE #<SB-KERNEL:MEMBER-TYPE (MEMBER :START)>
| :TYPE-TO-CHECK #<SB-KERNEL:MEMBER-TYPE (MEMBER :START)> {1003028001}>)
| 2: (SB-C::GENERATE-TYPE-CHECKS
| #<SB-C:COMPONENT :NAME "LAMBDA (A)" {100302D3E1}>)
| 3: (SB-C::IR1-PHASES #<SB-C:COMPONENT :NAME "LAMBDA (A)" {100302D3E1}>)
`----

SBCL 1.0.50.3-1918021 on Linux/AMD64.

--
Eric Marsden

Paul Khuong (pvk) wrote :

Fix committed in 7f52216b (make sure LVAR-EXTERNALLY-CHECKABLE-TYPE always returns a type)

Changed in sbcl:
assignee: Paul Khuong (pvk) → nobody
status: In Progress → 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