On Sun, Feb 5, 2012 at 12:25 AM, Kurt  Stephens <redmine / ruby-lang.org> wrote:
> True, CRuby Symbols are not collected. However, in general, this isnot required for every implementation of "symbols". There is an openbug to make CRuby Symbols collectable, but it will require C API changes. What semantics prevent Ruby Symbols from being collected?

The only thing that has prevented me from making symbols GCable in
JRuby is the concern that someone might rely on the same symbol having
the same ID forever. They're implied to always be the same object,
forever and ever, and allowing them to GC would break that.

If they could be "the same object, as long as someone's referencing
it" and the implications of a symbol possibly going away and being
reborn as a new object had no negative implications for Ruby
applications, making them GCable would be fine. I don't know that
that's the case.

- Charlie