ruricolist / serapeum

Utilities beyond Alexandria
MIT License
431 stars 42 forks source link

Spurious SBCL warning #77

Open lukego opened 4 years ago

lukego commented 4 years ago

SBCL seems to be inferring that DROP-WHILE returns an array when its argument type is unknown? Haven't debug further yet but wanted to record here now.

XILINX> (lambda (x) (rest (drop-while #'identity x)))
; in: LAMBDA (X)
;     (REST (DROP-WHILE #'IDENTITY XILINX::X))
; ==>
;   (CDR (DROP-WHILE #'IDENTITY XILINX::X))
; 
; caught STYLE-WARNING:
;   Derived type of
;     (SB-KERNEL:VECTOR-SUBSEQ* SB-C::SEQ SB-C::START SB-C::END)
;   in
;     (DROP-WHILE #'IDENTITY X)
;   is
;     (VALUES (SIMPLE-ARRAY * (*)) &OPTIONAL),
;   conflicting with their asserted type
;     LIST.
;   See also:
;     The SBCL Manual, Node "Handling of Types"
; 
; compilation unit finished
;   caught 1 STYLE-WARNING condition
#<FUNCTION (LAMBDA (X)) {52A66EBB}>
phoe commented 2 years ago

I can't reproduce this on SBCL 2.2.0 and modern Serapeum - is this still an issue?