diff --git a/lib/binding_rust/lib.rs b/lib/binding_rust/lib.rs index 3574391f..5272f22a 100644 --- a/lib/binding_rust/lib.rs +++ b/lib/binding_rust/lib.rs @@ -699,8 +699,7 @@ impl Parser { drop(unsafe { Box::from_raw(prev_logger.payload.cast::()) }); } - let c_logger; - if let Some(logger) = logger { + let c_logger = if let Some(logger) = logger { let container = Box::new(logger); unsafe extern "C" fn log( @@ -721,16 +720,16 @@ impl Parser { let raw_container = Box::into_raw(container); - c_logger = ffi::TSLogger { + ffi::TSLogger { payload: raw_container.cast::(), log: Some(log), - }; + } } else { - c_logger = ffi::TSLogger { + ffi::TSLogger { payload: ptr::null_mut(), log: None, - }; - } + } + }; unsafe { ffi::ts_parser_set_logger(self.0.as_ptr(), c_logger) }; }