Yes, I understand the semantics of #define. My point is that someone seeing a reference to sym_equal may not realize that (1) it's identical (at the C level) to rb_obj_equal and that (2) that fact has important performance ramifications.
First class functions are super useful in C, but I think it's pretty rare to rely on their identity at runtime. If you are doing that, also aliasing the same function by another name seems like a recipe for confusion.
First class functions are super useful in C, but I think it's pretty rare to rely on their identity at runtime. If you are doing that, also aliasing the same function by another name seems like a recipe for confusion.