Comment 3 for bug 1729471

Revision history for this message
Stas Boukarev (stassats) wrote : Re: [Bug 1729471] Re: NIL is not of type SB-C::NODE

Needs to check functional-kind for :zombie, not just :deleted.

On Sat, Nov 4, 2017 at 1:20 AM Douglas Katzman <email address hidden> wrote:

> different example as of commit 42ab54187 (which is after that one):
>
> (declaim (inline to-boolean))
> (defun to-boolean (x) (/= x 0))
>
> (declaim (inline newfoo))
> (defun newfoo (storage key converter)
> (labels ((value (entry) (funcall converter (ash entry -17)))
> (insert (start key value)
> (loop for link from 0 below 8
> for index = start then (next index)
> for entry = (aref storage index)
> when (= key (logand entry #xff))
> do (return-from insert (and value (value entry))))
> value)
> (probe (index)
> (let ((entry (aref storage index)))
> (when (= key (logand #xff entry))
> (return-from newfoo (value entry))))))
> (declare (inline value))
> (probe 0)
> (multiple-value-bind (new value) (make-new-frob)
> (declare (ignore new))
> (insert (logand (sxhash key) 15) key value))))
>
> (defun %access-cache (storage key)
> (newfoo storage key #'to-boolean))
>
> ** Changed in: sbcl
> Status: Fix Committed => New
>
> --
> You received this bug notification because you are a member of SBCL
> hackers, which is subscribed to SBCL.
> https://bugs.launchpad.net/bugs/1729471
>
> Title:
> NIL is not of type SB-C::NODE
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/sbcl/+bug/1729471/+subscriptions
>