Escaping compile time error on VALUES type to COERCE

Bug #1887712 reported by Paul F. Dietz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Douglas Katzman

Bug Description

(compile nil '(lambda (x) (coerce (list x) '(values list))))

==>

SUBTYPEP is illegal on this type:
  (VALUES &OPTIONAL LIST &REST T)
   [Condition of type SIMPLE-ERROR]

Restarts:
 0: [RETRY] Retry SLIME REPL evaluation request.
 1: [*ABORT] Return to SLIME's top level.
 2: [ABORT] abort thread (#<THREAD "new-repl-thread" RUNNING {1036E7F453}>)

Backtrace:
  0: (SB-KERNEL::VALUES-SIMPLE-SUBTYPEP-TYPE-METHOD #<SB-KERNEL:VALUES-TYPE (VALUES &OPTIONAL LIST &REST T)> #<unused argument>)
  1: (SB-KERNEL:CSUBTYPEP #<SB-KERNEL:VALUES-TYPE (VALUES &OPTIONAL LIST &REST T)> #<SB-KERNEL:ARRAY-TYPE VECTOR>)
  2: ((:SOURCE-TRANSFORM COERCE) (COERCE (LIST X) (QUOTE (VALUES LIST))) #S(SB-KERNEL:LEXENV :FUNS NIL :VARS ((X . #)) :BLOCKS NIL :TAGS NIL :TYPE-RESTRICTIONS NIL :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME SB-..
  3: (SB-C::IR1-CONVERT-SRCTRAN #<SB-C::CTRAN 1 {10372A8753}> #<SB-C::CTRAN 2 {10372A84A3}> #<SB-C::LVAR 3 {10372A84D3}> #<SB-C::GLOBAL-VAR :%SOURCE-NAME COERCE :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION (T #..
  4: (SB-C::IR1-CONVERT #<SB-C::CTRAN 1 {10372A8753}> #<SB-C::CTRAN 2 {10372A84A3}> #<SB-C::LVAR 3 {10372A84D3}> (COERCE (LIST X) (QUOTE (VALUES LIST))))
  5: (SB-C::IR1-CONVERT-PROGN-BODY #<SB-C::CTRAN 1 {10372A8753}> #<SB-C::CTRAN 2 {10372A84A3}> #<SB-C::LVAR 3 {10372A84D3}> ((COERCE (LIST X) (QUOTE #))))
  6: (SB-C::IR1-CONVERT-AUX-BINDINGS #<SB-C::CTRAN 1 {10372A8753}> #<SB-C::CTRAN 2 {10372A84A3}> #<SB-C::LVAR 3 {10372A84D3}> ((COERCE (LIST X) (QUOTE #))) NIL NIL NIL)
  7: (SB-C::IR1-CONVERT-SPECIAL-BINDINGS #<SB-C::CTRAN 1 {10372A8753}> #<SB-C::CTRAN 2 {10372A84A3}> #<SB-C::LVAR 3 {10372A84D3}> ((COERCE (LIST X) (QUOTE #))) NIL NIL NIL NIL)
  8: (SB-C::IR1-CONVERT-LAMBDA-BODY ((COERCE (LIST X) (QUOTE #))) (#<SB-C::LAMBDA-VAR :%SOURCE-NAME X {10372A81A3}>) :AUX-VARS NIL :AUX-VALS NIL :SOURCE-NAME SB-C::.ANONYMOUS. :DEBUG-NAME (LAMBDA (X)) :NOT..
  9: (SB-C::IR1-CONVERT-LAMBDA (LAMBDA (X) (COERCE (LIST X) (QUOTE #))) :SOURCE-NAME SB-C::.ANONYMOUS. :DEBUG-NAME (LAMBDA (X)) :MAYBE-ADD-DEBUG-CATCH T :SYSTEM-LAMBDA NIL)

Revision history for this message
Douglas Katzman (dougk) wrote :
Changed in sbcl:
assignee: nobody → Douglas Katzman (dougk)
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.