Value of #:OBJECT0 in (SB-EXT:TRULY-THE (UNSIGNED-BYTE 64) #:OBJECT0) is -1, not a (UNSIGNED-BYTE 64).

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

Bug Description

((lambda (x)
  (typep
   (boole boole-set x 0)
   '(integer 68487177513964308 14253672858925333839)
   )) 0)

==>

Value of #:OBJECT0 in
(SB-EXT:TRULY-THE (UNSIGNED-BYTE 64) #:OBJECT0)
is
  -1,
not a
  (UNSIGNED-BYTE 64).
   [Condition of type SIMPLE-TYPE-ERROR]
[...]
  0: (SB-C::%COMPILE-TIME-TYPE-ERROR (-1) (UNSIGNED-BYTE 64) #<unused argument> (#:OBJECT0) "(SB-EXT:TRULY-THE (UNSIGNED-BYTE 64) #:OBJECT0)" NIL)
  1: ((LAMBDA ()))
  2: (SB-INT:SIMPLE-EVAL-IN-LEXENV ((LAMBDA (X) (TYPEP # #)) 0) #<NULL-LEXENV>)
  3: (EVAL ((LAMBDA (X) (TYPEP # #)) 0))
[...]

Paul F. Dietz (paul-f-dietz) wrote :

Similar big:

(defun f343 ()
  (typep (complex (/ -2 1) 0)
         '(integer 44 15137801308502745107)))

(f343) ==> error

Stas Boukarev (stassats) wrote :

9b425b8f1a3b0cf26c2d8088cc768f011bbbdd38

Changed in sbcl:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers