From: Stas B. <sta...@gm...> - 2015-11-21 21:10:11
|
cage <ca...@ka...> writes: > Hello! > > some of my unit tests suddenly stopped working, after some > investigation i think i have isolated the offending code. > > Seems that: > > (let ((aa '(2))) > (funcall > #'(lambda (a b) > (notevery #'null (map 'vector #'= a b))) > '(1) aa)) > > could not be evaluated and the error is: > > "The value NIL is not of type SB-C::IR2-LVAR" > > whilst the following expression is, correctly, evaluated to nil > > (funcall > #'(lambda (a b) > (notevery #'null (map 'vector #'= a b))) > '(1) '(2)) > > > My .sbclrc contains the expression: > > (restrict-compiler-policy 'debug 3) > > and if I comment out that expression the error disappears. > > I am using SBCL 1.3.0.debian on debian testing. Thanks for the report. This regression was introduced in ff68efbd3af2a0b718f4b185f558feb9d86b6cf2 and a better test cases would be ((lambda () (declare (optimize debug)) (block nil (flet ((fun (x) (unless (funcall #'null x) (return)))) (declare (inline fun)) (map-into (vector 1) #'fun (coerce #(1) 'vector)))))) -- With best regards, Stas. |