From c03977a87ecdf1927ff72b3a38fc48a3367ba63d Mon Sep 17 00:00:00 2001 From: Mrmaxmeier <3913977+Mrmaxmeier@users.noreply.github.com> Date: Thu, 17 Oct 2024 21:44:08 +0200 Subject: [PATCH] fix: return `LanguageRef` in `Parser::language` `ts_parser_language` doesn't do any refcounting, so we can't return the resulting pointer as an owned Language object --- lib/binding_rust/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/binding_rust/lib.rs b/lib/binding_rust/lib.rs index 6b660e85..e70f2fc3 100644 --- a/lib/binding_rust/lib.rs +++ b/lib/binding_rust/lib.rs @@ -496,9 +496,9 @@ impl Parser { /// Get the parser's current language. #[doc(alias = "ts_parser_language")] #[must_use] - pub fn language(&self) -> Option { + pub fn language(&self) -> Option> { let ptr = unsafe { ffi::ts_parser_language(self.0.as_ptr()) }; - (!ptr.is_null()).then(|| Language(ptr)) + (!ptr.is_null()).then_some(LanguageRef(ptr, PhantomData)) } /// Get the parser's current logger.