From: Jon Garvin Date: 2006-12-20T06:59:15+09:00 Subject: Re: what exactly does obj.is_a? do? Gavin Kistner wrote: > The source code is readily available. Here, from object.c, is the answer > to your question. (Out of curiosity, why are you so curious as to the > internals?) > > Thanks Gavin. Unfortunately, my C skills are very rusty. It seems to boil down to this line... if (cl == c || RCLASS(cl)->m_tbl == RCLASS(c)->m_tbl) but it's not clear to me if object_id's are critical here or not. Would it be possible for cl and c to be different objects, and still be evaluated by this condition as equal? To satisfy your curiosity, this was due to an issue we were having with comparing a cached object to an apparently reloaded class and finding that the object was not of that class when we thought it should be. Since my original post we've identified the issue/solution with our caching routine, so at this point this thread is pretty much just about knowledge for it's own sake.