@@ -301,15 +301,15 @@ unsafe extern "C" fn call_to_s(arg: VALUE) -> VALUE {
301301 rb_funcall ( data. 0 , data. 1 , 0 )
302302}
303303
304- unsafe fn value_to_string_safe ( val : VALUE , to_s_id : ID ) -> Option < String > {
304+ unsafe fn value_to_string_safe ( recorder : & Recorder , val : VALUE ) -> Option < String > {
305305 if RB_TYPE_P ( val, rb_sys:: ruby_value_type:: RUBY_T_STRING ) {
306306 let ptr = RSTRING_PTR ( val) ;
307307 let len = RSTRING_LEN ( val) as usize ;
308308 let slice = std:: slice:: from_raw_parts ( ptr as * const u8 , len) ;
309309 return Some ( String :: from_utf8_lossy ( slice) . to_string ( ) ) ;
310310 }
311311 let mut state: c_int = 0 ;
312- let data = ( val, to_s_id) ;
312+ let data = ( val, recorder . to_s_id ) ;
313313 let str_val = rb_protect ( Some ( call_to_s) , & data as * const _ as VALUE , & mut state) ;
314314 if state != 0 {
315315 return None ;
@@ -808,7 +808,7 @@ unsafe extern "C" fn event_hook_raw(data: VALUE, arg: *mut rb_trace_arg_t) {
808808
809809 let class_name =
810810 cstr_to_string ( rb_obj_classname ( self_val) ) . unwrap_or_else ( || "Object" . to_string ( ) ) ;
811- let text = value_to_string_safe ( self_val , recorder . to_s_id ) . unwrap_or_default ( ) ;
811+ let text = value_to_string_safe ( recorder , self_val ) . unwrap_or_default ( ) ;
812812 let self_type =
813813 TraceWriter :: ensure_type_id ( & mut * recorder. tracer , TypeKind :: Raw , & class_name) ;
814814 let self_rec = ValueRecord :: Raw {
0 commit comments