The value #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)> is not of type SB-KERNEL:FUN-TYPE

Bug #1740980 reported by Paul F. Dietz on 2018-01-03
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

This is a kind of bad code bug, since (the integer nil) cannot be correct.

(lambda ()
  (rassoc-if-not #'values '((1 . a)) :allow-other-keys t :bad t)
  (the integer nil))

==>

The value
  #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)>
is not of type
  SB-KERNEL:FUN-TYPE
   [Condition of type TYPE-ERROR]
[...]
  0: (SB-C::FUN-TYPE-ARG-LIMITS #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)>)
  1: (SB-C::FLUSHABLE-CALLABLE-ARG-P VALUES 1)
  2: ((LAMBDA (SB-C::ARG TYPE SB-C::LVARS &OPTIONAL SB-C::ANNOTATION) :IN SB-C::FLUSHABLE-COMBINATION-ARGS-P) #<SB-C::LVAR 1 {10066EE6E3}> #<unused argument> #<unused argument> (SB-KERNEL:FUNCTION-DESIGNAT..
  3: (SB-C::MAP-COMBINATION-ARGS-AND-TYPES #<CLOSURE (LAMBDA (SB-C::ARG TYPE SB-C::LVARS &OPTIONAL SB-C::ANNOTATION) :IN SB-C::FLUSHABLE-COMBINATION-ARGS-P) {100674F2AB}> #<SB-C::COMBINATION :FUN #<SB-C::R..
  4: (SB-C::FLUSHABLE-COMBINATION-ARGS-P #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME RASSOC-IF-NOT :TYPE #1=#<SB-KERNEL:FUN-TYPE #> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED ..
  5: (SB-C::FLUSHABLE-COMBINATION-P #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME RASSOC-IF-NOT :TYPE #1=#<SB-KERNEL:FUN-TYPE #> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND..
  6: (SB-C::FLUSH-DEAD-CODE #<SB-C::CBLOCK 2 :START c3 {10066ED8F3}>)
 [...]

description: updated
description: updated
Stas Boukarev (stassats) wrote :

In 2235da4f59be7a28b960923aa780d1dbaf6ee902

Changed in sbcl:
status: New → Fix Committed
Stas Boukarev (stassats) on 2018-01-31
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