@@ -102,11 +102,11 @@ pub mod ffi {
102
102
fn c_return_box ( ) -> Box < R > ;
103
103
fn c_return_unique_ptr ( ) -> UniquePtr < C > ;
104
104
fn c_return_shared_ptr ( ) -> SharedPtr < C > ;
105
- fn c_return_ref ( shared : & Shared ) -> & usize ;
106
- fn c_return_mut ( shared : & mut Shared ) -> & mut usize ;
107
- fn c_return_str ( shared : & Shared ) -> & str ;
108
- fn c_return_slice_char ( shared : & Shared ) -> & [ c_char ] ;
109
- fn c_return_mutsliceu8 ( slice : & mut [ u8 ] ) -> & mut [ u8 ] ;
105
+ unsafe fn c_return_mut < ' a > ( shared : & ' a mut Shared ) -> & ' a mut usize ;
106
+ unsafe fn c_return_str < ' a > ( shared : & ' a Shared ) -> & ' a str ;
107
+ unsafe fn c_return_slice_char < ' a > ( shared : & ' a Shared ) -> & ' a [ c_char ] ;
108
+ unsafe fn c_return_mutsliceu8 < ' a > ( slice : & ' a mut [ u8 ] ) -> & ' a mut [ u8 ] ;
109
+ unsafe fn c_return_ref < ' a > ( shared : & ' a Shared ) -> & ' a usize ;
110
110
fn c_return_rust_string ( ) -> String ;
111
111
fn c_return_rust_string_lossy ( ) -> String ;
112
112
fn c_return_unique_ptr_string ( ) -> UniquePtr < CxxString > ;
@@ -115,18 +115,18 @@ pub mod ffi {
115
115
fn c_return_unique_ptr_vector_string ( ) -> UniquePtr < CxxVector < CxxString > > ;
116
116
fn c_return_unique_ptr_vector_shared ( ) -> UniquePtr < CxxVector < Shared > > ;
117
117
fn c_return_unique_ptr_vector_opaque ( ) -> UniquePtr < CxxVector < C > > ;
118
- fn c_return_ref_vector ( c : & C ) -> & CxxVector < u8 > ;
119
- fn c_return_mut_vector ( c : Pin < & mut C > ) -> Pin < & mut CxxVector < u8 > > ;
118
+ unsafe fn c_return_ref_vector < ' a > ( c : & ' a C ) -> & ' a CxxVector < u8 > ;
119
+ unsafe fn c_return_mut_vector < ' a > ( c : Pin < & ' a mut C > ) -> Pin < & ' a mut CxxVector < u8 > > ;
120
120
fn c_return_rust_vec_u8 ( ) -> Vec < u8 > ;
121
- fn c_return_ref_rust_vec ( c : & C ) -> & Vec < u8 > ;
122
- fn c_return_mut_rust_vec ( c : Pin < & mut C > ) -> & mut Vec < u8 > ;
121
+ unsafe fn c_return_ref_rust_vec < ' a > ( c : & ' a C ) -> & ' a Vec < u8 > ;
122
+ unsafe fn c_return_mut_rust_vec < ' a > ( c : Pin < & ' a mut C > ) -> & ' a mut Vec < u8 > ;
123
123
fn c_return_rust_vec_string ( ) -> Vec < String > ;
124
124
fn c_return_rust_vec_bool ( ) -> Vec < bool > ;
125
125
fn c_return_identity ( _: usize ) -> usize ;
126
126
fn c_return_sum ( _: usize , _: usize ) -> usize ;
127
127
fn c_return_enum ( n : u16 ) -> Enum ;
128
- fn c_return_ns_ref ( shared : & AShared ) -> & usize ;
129
- fn c_return_nested_ns_ref ( shared : & ABShared ) -> & usize ;
128
+ unsafe fn c_return_ns_ref < ' a > ( shared : & ' a AShared ) -> & ' a usize ;
129
+ unsafe fn c_return_nested_ns_ref < ' a > ( shared : & ' a ABShared ) -> & ' a usize ;
130
130
fn c_return_ns_enum ( n : u16 ) -> AEnum ;
131
131
fn c_return_nested_ns_enum ( n : u16 ) -> ABEnum ;
132
132
fn c_return_const_ptr ( n : usize ) -> * const C ;
@@ -164,7 +164,7 @@ pub mod ffi {
164
164
fn c_take_ref_rust_vec_string ( v : & Vec < String > ) ;
165
165
fn c_take_ref_rust_vec_index ( v : & Vec < u8 > ) ;
166
166
fn c_take_ref_rust_vec_copy ( v : & Vec < u8 > ) ;
167
- fn c_take_ref_shared_string ( s : & SharedString ) -> & SharedString ;
167
+ unsafe fn c_take_ref_shared_string < ' a > ( s : & ' a SharedString ) -> & ' a SharedString ;
168
168
fn c_take_callback ( callback : fn ( String ) -> usize ) ;
169
169
fn c_take_callback_ref ( callback : fn ( & String ) ) ;
170
170
#[ cxx_name = "c_take_callback_ref" ]
@@ -184,26 +184,26 @@ pub mod ffi {
184
184
fn c_try_return_primitive ( ) -> Result < usize > ;
185
185
fn c_fail_return_primitive ( ) -> Result < usize > ;
186
186
fn c_try_return_box ( ) -> Result < Box < R > > ;
187
- fn c_try_return_ref ( s : & String ) -> Result < & String > ;
188
- fn c_try_return_str ( s : & str ) -> Result < & str > ;
189
- fn c_try_return_sliceu8 ( s : & [ u8 ] ) -> Result < & [ u8 ] > ;
190
- fn c_try_return_mutsliceu8 ( s : & mut [ u8 ] ) -> Result < & mut [ u8 ] > ;
187
+ unsafe fn c_try_return_ref < ' a > ( s : & ' a String ) -> Result < & ' a String > ;
188
+ unsafe fn c_try_return_str < ' a > ( s : & ' a str ) -> Result < & ' a str > ;
189
+ unsafe fn c_try_return_sliceu8 < ' a > ( s : & ' a [ u8 ] ) -> Result < & ' a [ u8 ] > ;
190
+ unsafe fn c_try_return_mutsliceu8 < ' a > ( s : & ' a mut [ u8 ] ) -> Result < & ' a mut [ u8 ] > ;
191
191
fn c_try_return_rust_string ( ) -> Result < String > ;
192
192
fn c_try_return_unique_ptr_string ( ) -> Result < UniquePtr < CxxString > > ;
193
193
fn c_try_return_rust_vec ( ) -> Result < Vec < u8 > > ;
194
194
fn c_try_return_rust_vec_string ( ) -> Result < Vec < String > > ;
195
- fn c_try_return_ref_rust_vec ( c : & C ) -> Result < & Vec < u8 > > ;
195
+ unsafe fn c_try_return_ref_rust_vec < ' a > ( c : & ' a C ) -> Result < & ' a Vec < u8 > > ;
196
196
197
197
fn get ( self : & C ) -> usize ;
198
198
fn set ( self : Pin < & mut C > , n : usize ) -> usize ;
199
199
fn get2 ( & self ) -> usize ;
200
- fn getRef ( self : & C ) -> & usize ;
201
- fn getMut ( self : Pin < & mut C > ) -> & mut usize ;
200
+ unsafe fn getRef < ' a > ( self : & ' a C ) -> & ' a usize ;
201
+ unsafe fn getMut < ' a > ( self : Pin < & ' a mut C > ) -> & ' a mut usize ;
202
202
fn set_succeed ( self : Pin < & mut C > , n : usize ) -> Result < usize > ;
203
203
fn get_fail ( self : Pin < & mut C > ) -> Result < usize > ;
204
204
fn c_method_on_shared ( self : & Shared ) -> usize ;
205
- fn c_method_ref_on_shared ( self : & Shared ) -> & usize ;
206
- fn c_method_mut_on_shared ( self : & mut Shared ) -> & mut usize ;
205
+ unsafe fn c_method_ref_on_shared < ' a > ( self : & ' a Shared ) -> & ' a usize ;
206
+ unsafe fn c_method_mut_on_shared < ' a > ( self : & ' a mut Shared ) -> & ' a mut usize ;
207
207
fn c_set_array ( self : & mut Array , value : i32 ) ;
208
208
209
209
fn c_get_use_count ( weak : & WeakPtr < C > ) -> usize ;
@@ -258,6 +258,7 @@ pub mod ffi {
258
258
type Buffer = crate :: Buffer ;
259
259
}
260
260
261
+ #[ allow( clippy:: extra_unused_lifetimes) ]
261
262
extern "Rust" {
262
263
type R ;
263
264
@@ -266,19 +267,19 @@ pub mod ffi {
266
267
fn r_return_box ( ) -> Box < R > ;
267
268
fn r_return_unique_ptr ( ) -> UniquePtr < C > ;
268
269
fn r_return_shared_ptr ( ) -> SharedPtr < C > ;
269
- fn r_return_ref ( shared : & Shared ) -> & usize ;
270
- fn r_return_mut ( shared : & mut Shared ) -> & mut usize ;
271
- fn r_return_str ( shared : & Shared ) -> & str ;
270
+ unsafe fn r_return_ref < ' a > ( shared : & ' a Shared ) -> & ' a usize ;
271
+ unsafe fn r_return_mut < ' a > ( shared : & ' a mut Shared ) -> & ' a mut usize ;
272
+ unsafe fn r_return_str < ' a > ( shared : & ' a Shared ) -> & ' a str ;
272
273
unsafe fn r_return_str_via_out_param < ' a > ( shared : & ' a Shared , out_param : & mut & ' a str ) ;
273
- fn r_return_sliceu8 ( shared : & Shared ) -> & [ u8 ] ;
274
- fn r_return_mutsliceu8 ( slice : & mut [ u8 ] ) -> & mut [ u8 ] ;
274
+ unsafe fn r_return_sliceu8 < ' a > ( shared : & ' a Shared ) -> & ' a [ u8 ] ;
275
+ unsafe fn r_return_mutsliceu8 < ' a > ( slice : & ' a mut [ u8 ] ) -> & ' a mut [ u8 ] ;
275
276
fn r_return_rust_string ( ) -> String ;
276
277
fn r_return_unique_ptr_string ( ) -> UniquePtr < CxxString > ;
277
278
fn r_return_rust_vec ( ) -> Vec < u8 > ;
278
279
fn r_return_rust_vec_string ( ) -> Vec < String > ;
279
280
fn r_return_rust_vec_extern_struct ( ) -> Vec < Job > ;
280
- fn r_return_ref_rust_vec ( shared : & Shared ) -> & Vec < u8 > ;
281
- fn r_return_mut_rust_vec ( shared : & mut Shared ) -> & mut Vec < u8 > ;
281
+ unsafe fn r_return_ref_rust_vec < ' a > ( shared : & ' a Shared ) -> & ' a Vec < u8 > ;
282
+ unsafe fn r_return_mut_rust_vec < ' a > ( shared : & ' a mut Shared ) -> & ' a mut Vec < u8 > ;
282
283
fn r_return_identity ( _: usize ) -> usize ;
283
284
fn r_return_sum ( _: usize , _: usize ) -> usize ;
284
285
fn r_return_enum ( n : u32 ) -> Enum ;
@@ -306,8 +307,8 @@ pub mod ffi {
306
307
fn r_try_return_primitive ( ) -> Result < usize > ;
307
308
fn r_try_return_box ( ) -> Result < Box < R > > ;
308
309
fn r_fail_return_primitive ( ) -> Result < usize > ;
309
- fn r_try_return_sliceu8 ( s : & [ u8 ] ) -> Result < & [ u8 ] > ;
310
- fn r_try_return_mutsliceu8 ( s : & mut [ u8 ] ) -> Result < & mut [ u8 ] > ;
310
+ unsafe fn r_try_return_sliceu8 < ' a > ( s : & ' a [ u8 ] ) -> Result < & ' a [ u8 ] > ;
311
+ unsafe fn r_try_return_mutsliceu8 < ' a > ( s : & ' a mut [ u8 ] ) -> Result < & ' a mut [ u8 ] > ;
311
312
312
313
fn get ( self : & R ) -> usize ;
313
314
fn set ( self : & mut R , n : usize ) -> usize ;
0 commit comments