File tree 2 files changed +11
-16
lines changed
2 files changed +11
-16
lines changed Original file line number Diff line number Diff line change @@ -1109,7 +1109,15 @@ fn expand_rust_function_shim_impl(
1109
1109
None => quote_spanned ! ( span=> & mut ( ) ) ,
1110
1110
} ;
1111
1111
requires_closure = true ;
1112
- expr = quote_spanned ! ( span=> :: cxx:: map_rust_result_to_cxx_result!( #out, #expr) ) ;
1112
+ expr = quote_spanned ! ( span=>
1113
+ match #expr {
1114
+ Ok ( ok) => {
1115
+ :: core:: ptr:: write( #out, ok) ;
1116
+ :: cxx:: private:: CxxResult :: new( )
1117
+ }
1118
+ Err ( err) => :: cxx:: private:: CxxResult :: from( err) ,
1119
+ }
1120
+ ) ;
1113
1121
} else if indirect_return {
1114
1122
requires_closure = true ;
1115
1123
expr = quote_spanned ! ( span=> :: cxx:: core:: ptr:: write( __return, #expr) ) ;
@@ -1193,10 +1201,10 @@ fn expand_rust_function_shim_super(
1193
1201
// Set spans that result in the `Result<...>` written by the user being
1194
1202
// highlighted as the cause if their error type is not convertible to
1195
1203
// CxxException (i.e., no `Display` trait by default).
1196
- let result_begin = quote_spanned ! { result. span=>
1204
+ let result_begin = quote_spanned ! { result. span=>
1197
1205
|e| :: cxx:: map_rust_error_to_cxx_exception!
1198
1206
} ;
1199
- let result_end = quote_spanned ! { rangle. span=> ( e) } ;
1207
+ let result_end = quote_spanned ! { rangle. span=> ( e) } ;
1200
1208
quote_spanned ! { span=>
1201
1209
#call( #( #vars, ) * ) . map_err( #result_begin #result_end )
1202
1210
}
Original file line number Diff line number Diff line change @@ -240,16 +240,3 @@ macro_rules! map_rust_error_to_cxx_exception {
240
240
exc
241
241
} } ;
242
242
}
243
-
244
- #[ macro_export]
245
- macro_rules! map_rust_result_to_cxx_result {
246
- ( $ret_ptr: expr, $result: expr) => {
247
- match $result {
248
- Ok ( ok) => {
249
- unsafe { :: core:: ptr:: write( $ret_ptr, ok) } ;
250
- $crate:: private:: CxxResult :: new( )
251
- }
252
- Err ( err) => $crate:: private:: CxxResult :: from( err) ,
253
- }
254
- } ;
255
- }
You can’t perform that action at this time.
0 commit comments