> #define RB_METHOD(func) ((VALUE (*) ())func) > #define RB_FINALIZER(func) ((void (*)(...))func) You can use RUBY_DATA_FUNC and RUBY_METHOD_FUNC instead. These are defined in ruby.h. BTW, why is RUBY_METHOD_FUNC a macro, while RUBY_DATA_FUNC is a typedef? It appears that RUBY_DATA_FUNC was at one time a macro, since the #define line is commented out in ruby.h. Paul