Arguably you'd have to be not quite thinking to write this code, but
it probably shouldn't result in a call to BUG even so -
* (defstruct foo bar baz)
FOO
* (compile nil (lambda (x) (or x (foo-baz x))))
; in: LAMBDA NIL
; (FOO-BAZ X)
; ==>
; X
;
; caught WARNING:
; Result is a NULL, not a FOO.
debugger invoked on condition of type SB-INT:BUG:
full call to SB-KERNEL:%INSTANCE-REF
This is probably a bug in SBCL itself. (Alternatively, SBCL might have been
corrupted by bad user code, e.g. by an undefined Lisp operation like
(FMAKUNBOUND 'COMPILE), or by stray pointers from alien code or from unsafe
Lisp code; or there might be a bug in the OS or hardware that SBCL is running
on.) If it seems to be a bug in SBCL itself, the maintainers would like to
know about it. Bug reports are welcome on the SBCL mailing lists, which you
can find at <http://sbcl.sourceforge.net/>.
(No, it wasn't my code. I ran across this while porting Common Lisp Music)
-dan
--
http://ww.telent.net/cliki/ - Link farm for free CL-on-Unix resources
|