File tree Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -202,7 +202,7 @@ pub mod ffi {
202
202
fn set2 ( & mut self , n : usize ) -> usize ;
203
203
fn set_succeed ( & mut self , n : usize ) -> Result < usize > ;
204
204
fn get_fail ( & mut self ) -> Result < usize > ;
205
- fn method_on_shared ( self : & Shared ) -> usize ;
205
+ fn c_method_on_shared ( self : & Shared ) -> usize ;
206
206
207
207
#[ rust_name = "i32_overloaded_method" ]
208
208
fn cOverloadedMethod ( & self , x : i32 ) -> String ;
@@ -274,6 +274,7 @@ pub mod ffi {
274
274
fn r_return_r2 ( n : usize ) -> Box < R2 > ;
275
275
fn get ( self : & R2 ) -> usize ;
276
276
fn set ( self : & mut R2 , n : usize ) -> usize ;
277
+ fn r_method_on_shared ( self : & Shared ) -> usize ;
277
278
278
279
#[ cxx_name = "rAliasedFunction" ]
279
280
fn r_aliased_function ( x : i32 ) -> String ;
@@ -316,6 +317,12 @@ impl R2 {
316
317
}
317
318
}
318
319
320
+ impl ffi:: Shared {
321
+ fn r_method_on_shared ( & self ) -> usize {
322
+ 2020
323
+ }
324
+ }
325
+
319
326
#[ derive( Debug ) ]
320
327
struct Error ;
321
328
Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ size_t C::set_succeed(size_t n) { return this->set2(n); }
35
35
36
36
size_t C::get_fail () { throw std::runtime_error (" unimplemented" ); }
37
37
38
- size_t Shared::method_on_shared () const noexcept { return 2021 ; }
38
+ size_t Shared::c_method_on_shared () const noexcept { return 2021 ; }
39
39
40
40
const std::vector<uint8_t > &C::get_v () const { return this ->v ; }
41
41
@@ -626,6 +626,7 @@ extern "C" const char *cxx_run_test() noexcept {
626
626
ASSERT (r2->get () == 2021 );
627
627
ASSERT (r2->set (2020 ) == 2020 );
628
628
ASSERT (r2->get () == 2020 );
629
+ ASSERT (Shared{0 }.r_method_on_shared () == 2020 );
629
630
630
631
ASSERT (std::string (rAliasedFunction (2020 )) == " 2020" );
631
632
Original file line number Diff line number Diff line change @@ -193,7 +193,7 @@ fn test_c_method_calls() {
193
193
assert_eq ! ( old_value, unique_ptr. get2( ) ) ;
194
194
assert_eq ! ( 2022 , unique_ptr. set_succeed( 2022 ) . unwrap( ) ) ;
195
195
assert ! ( unique_ptr. get_fail( ) . is_err( ) ) ;
196
- assert_eq ! ( 2021 , ffi:: Shared { z: 0 } . method_on_shared ( ) ) ;
196
+ assert_eq ! ( 2021 , ffi:: Shared { z: 0 } . c_method_on_shared ( ) ) ;
197
197
}
198
198
199
199
#[ test]
You can’t perform that action at this time.
0 commit comments