Lossy typecheck generation for singleton-type keyword arguments
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
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:
| 1: (SB-C::
| #<CAST
| :%TYPE-CHECK T
| :VALUE #<SB-C::LVAR 1 {1003027D21}>
| :ASSERTED-TYPE #<SB-KERNEL:
| :TYPE-TO-CHECK #<SB-KERNEL:
| 2: (SB-C::
| #<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
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
Fix committed in 7f52216b (make sure LVAR-EXTERNALLY -CHECKABLE- TYPE always returns a type)