Charles Oliver Nutter wrote: > That would be nice if that's what people did. But they don't. They just > call the methods, and then file bugs on other implementations when they > don't exist. I think it's been shown that having methods available on > one implementation and not on another, or on one version and not another > (1.8.7, eh?) ends up confusing a lot of people. Or we end up stubbing > them out and making them do nothing, and they file bugs anyway because > that do nothing. I understand that this is frustrating to you as a Ruby implementer, but I still don't think that it's a bad idea to expose GC APIs. The GC APIs can be documented as "private" or "not guaranteed to be available on other Ruby implementations" or something, so that when people file bug reports, you can just point to the documentation and tell them that it's their responsibility to fix their apps. For example, Phusion Passenger is fully compatible with standard MRI and only uses the COW GC API when available. If things break then we consider that to be a bug.