File tree 1 file changed +4
-4
lines changed
1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -127,7 +127,7 @@ impl<'repo> Tree<'repo> {
127
127
raw:: git_tree_walk (
128
128
self . raw ( ) ,
129
129
mode. into ( ) ,
130
- treewalk_cb,
130
+ treewalk_cb :: < T > ,
131
131
& mut data as * mut _ as * mut c_void ,
132
132
) ;
133
133
Ok ( ( ) )
@@ -201,15 +201,15 @@ impl<'repo> Tree<'repo> {
201
201
202
202
type TreeWalkCb < ' a , T > = FnMut ( & str , & TreeEntry ) -> T + ' a ;
203
203
204
- extern fn treewalk_cb ( root : * const c_char , entry : * const raw:: git_tree_entry , payload : * mut c_void ) -> c_int {
204
+ extern fn treewalk_cb < T : Into < i32 > > ( root : * const c_char , entry : * const raw:: git_tree_entry , payload : * mut c_void ) -> c_int {
205
205
match panic:: wrap ( || unsafe {
206
206
let root = match CStr :: from_ptr ( root) . to_str ( ) {
207
207
Ok ( value) => value,
208
208
_ => return -1 ,
209
209
} ;
210
210
let entry = entry_from_raw_const ( entry) ;
211
- let payload = payload as * mut & mut TreeWalkCb < _ > ;
212
- ( * payload) ( root, & entry)
211
+ let payload = payload as * mut & mut TreeWalkCb < T > ;
212
+ ( * payload) ( root, & entry) . into ( )
213
213
} ) {
214
214
Some ( value) => value,
215
215
None => -1 ,
You can’t perform that action at this time.
0 commit comments