Compile time type warning from valid calls to various string and sequence functions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
(lambda (p) (declare (optimize speed)) (string-left-trim (the (member "x" "1") p) "a"))
==>
; in: LAMBDA (P)
; (STRING-LEFT-TRIM (THE (MEMBER "x" "1") CL-TEST::P) "a")
; --> FLET SB-C::CHAR-
; --> MULTIPLE-VALUE-BIND LET SB-KERNEL:
; --> SB-KERNEL:
; --> LET LET MULTIPLE-VALUE-BIND
; ==>
; (MULTIPLE-
; #'(LAMBDA
; (
; &OPTIONAL (#:SEQUENCE75) (SB-C::START) (#:END76) (#:OFFSET71)
; &REST #:G82)
; (DECLARE (IGNORE #:G82))
; (BLOCK #:BLOCK72
; (IF SB-C::FROM-END
; (LOOP SB-C::FOR #:INDEX73 SB-C::OF-TYPE SB-KERNEL:
; DO #)
; (LOOP SB-C::FOR #:INDEX73 SB-C::OF-TYPE SB-INT:INDEX SB-C::FROM SB-C::START SB-C::BELOW #:END76
; DO #))
; (VALUES NIL NIL)))
; (COND
; ((NOT (SB-KERNEL:
; (LET (#)
; (DECLARE #)
; (LET #
; #)))
; (T (SB-KERNEL:
;
; caught WARNING:
; Derived type of
; (VALUES (SB-EXT:TRULY-THE SIMPLE-ARRAY #:N-ARRAY77) #:N-SVALUE78 #:N-END81 0)
; is
; (VALUES NULL &OPTIONAL),
; conflicting with its asserted type
; (MOD 461168601842738
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 WARNING condition
#<FUNCTION (LAMBDA (P)) {53125B8B}>
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
This appears to be affecting many other sequence functions also, not just string-left-trim.