From: Clifford Heath Date: 2012-02-16T11:54:22+09:00 Subject: [ruby-core:42675] Re: [ruby-trunk - Feature #5964] Make Symbols an Alternate Syntax for Strings On 16/02/2012, at 12:28 PM, Charles Oliver Nutter wrote: > On Sun, Feb 5, 2012 at 12:25 AM, Kurt Stephens wrote: >> True, CRuby Symbols are not collected. However, in general, this is not required for every implementation of "symbols". There is an open bug 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. That's clearly not the case if you define "forever" to mean "across program instances". So if they save the object_id of a symbol somewhere, without still having a reference to the symbol, they'll be broken if "somewhere" persists across instances, but not if its persistence is only within the same instance. I say do it, and let them whinge. My bet is they'll be too embarrassed to have done such a grubby thing and won't even complain. Clifford Heath.