@@ -19,7 +19,6 @@ use crate::buffer::{Reader, Writer};
1919use std:: mem;
2020
2121use crate :: error:: Error ;
22- use crate :: fory:: Fory ;
2322use crate :: meta:: MetaString ;
2423use crate :: resolver:: meta_resolver:: { MetaReaderResolver , MetaWriterResolver } ;
2524use crate :: resolver:: meta_string_resolver:: { MetaStringReaderResolver , MetaStringWriterResolver } ;
@@ -31,6 +30,7 @@ use std::rc::Rc;
3130
3231/// Serialization state container used on a single thread at a time.
3332/// Sharing the same instance across threads simultaneously causes undefined behavior.
33+ #[ allow( clippy:: needless_lifetimes) ]
3434pub struct WriteContext < ' a > {
3535 // Replicated environment fields (direct access, no Arc indirection for flags)
3636 type_resolver : TypeResolver ,
@@ -48,6 +48,7 @@ pub struct WriteContext<'a> {
4848 pub ref_writer : RefWriter ,
4949}
5050
51+ #[ allow( clippy:: needless_lifetimes) ]
5152impl < ' a > WriteContext < ' a > {
5253 pub fn new (
5354 type_resolver : TypeResolver ,
@@ -89,27 +90,6 @@ impl<'a> WriteContext<'a> {
8990 self . writer = default. unwrap ( ) ;
9091 }
9192
92- /// Test method to create WriteContext from Fory instance
93- /// Will be removed in future releases, do not use it in production code
94- pub fn new_from_fory ( fory : & Fory ) -> WriteContext < ' a > {
95- WriteContext {
96- default_writer : None ,
97- writer : Writer :: from_buffer ( Self :: get_leak_buffer ( ) ) ,
98- type_resolver : fory
99- . get_type_resolver ( )
100- . build_final_type_resolver ( )
101- . unwrap ( ) ,
102- compatible : fory. is_compatible ( ) ,
103- share_meta : fory. is_share_meta ( ) ,
104- compress_string : fory. is_compress_string ( ) ,
105- xlang : fory. is_xlang ( ) ,
106- check_struct_version : fory. is_check_struct_version ( ) ,
107- meta_resolver : MetaWriterResolver :: default ( ) ,
108- meta_string_resolver : MetaStringWriterResolver :: default ( ) ,
109- ref_writer : RefWriter :: new ( ) ,
110- }
111- }
112-
11393 /// Get type resolver
11494 #[ inline( always) ]
11595 pub fn get_type_resolver ( & self ) -> & TypeResolver {
@@ -227,6 +207,7 @@ impl<'a> WriteContext<'a> {
227207 }
228208}
229209
210+ #[ allow( clippy:: needless_lifetimes) ]
230211impl < ' a > Drop for WriteContext < ' a > {
231212 fn drop ( & mut self ) {
232213 unsafe {
@@ -239,7 +220,9 @@ impl<'a> Drop for WriteContext<'a> {
239220// ensures single-threaded access while the context is in use. Users must never hold the same
240221// instance on multiple threads simultaneously; that would violate the invariants and result in
241222// undefined behavior. Under that assumption, marking it Send/Sync is sound.
223+ #[ allow( clippy:: needless_lifetimes) ]
242224unsafe impl < ' a > Send for WriteContext < ' a > { }
225+ #[ allow( clippy:: needless_lifetimes) ]
243226unsafe impl < ' a > Sync for WriteContext < ' a > { }
244227
245228/// Deserialization state container used on a single thread at a time.
@@ -265,7 +248,9 @@ pub struct ReadContext<'a> {
265248// single-threaded use. Concurrent access to the same instance across threads is forbidden and
266249// would result in undefined behavior. With exclusive use guaranteed, the Send/Sync markers are safe
267250// even though Rc is used internally.
251+ #[ allow( clippy:: needless_lifetimes) ]
268252unsafe impl < ' a > Send for ReadContext < ' a > { }
253+ #[ allow( clippy:: needless_lifetimes) ]
269254unsafe impl < ' a > Sync for ReadContext < ' a > { }
270255
271256impl < ' a > ReadContext < ' a > {
@@ -292,27 +277,6 @@ impl<'a> ReadContext<'a> {
292277 }
293278 }
294279
295- /// Test method to create ReadContext from Fory instance
296- /// Will be removed in future releases, do not use it in production code
297- pub fn new_from_fory ( fory : & Fory ) -> ReadContext < ' a > {
298- ReadContext {
299- type_resolver : fory
300- . get_type_resolver ( )
301- . build_final_type_resolver ( )
302- . unwrap ( ) ,
303- compatible : fory. is_compatible ( ) ,
304- share_meta : fory. is_share_meta ( ) ,
305- xlang : fory. is_xlang ( ) ,
306- max_dyn_depth : fory. get_max_dyn_depth ( ) ,
307- check_struct_version : fory. is_check_struct_version ( ) ,
308- reader : Reader :: default ( ) ,
309- meta_resolver : MetaReaderResolver :: default ( ) ,
310- meta_string_resolver : MetaStringReaderResolver :: default ( ) ,
311- ref_reader : RefReader :: new ( ) ,
312- current_depth : 0 ,
313- }
314- }
315-
316280 /// Get type resolver
317281 #[ inline( always) ]
318282 pub fn get_type_resolver ( & self ) -> & TypeResolver {
0 commit comments