From 0358feda056d8483781fb124ca4fd47dc184243c 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 (cherry picked from commit c03977a87ecdf1927ff72b3a38fc48a3367ba63d) --- 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 c2bae2c4..bb752f35 100644 --- a/lib/binding_rust/lib.rs +++ b/lib/binding_rust/lib.rs @@ -488,9 +488,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.