@@ -1212,12 +1212,16 @@ fn create_il2cpp_mappings<'a>(difs: &[DifMatch<'a>]) -> Result<Vec<DifMatch<'a>>
1212
1212
///
1213
1213
/// The returned value contains separate vectors for incomplete DIFs and
1214
1214
/// missing chunks for convenience.
1215
- fn try_assemble_difs < ' data , ' m > (
1216
- difs : & ' m [ Chunked < DifMatch < ' data > > ] ,
1215
+ fn try_assemble < ' m , T > (
1216
+ objects : & ' m [ Chunked < T > ] ,
1217
1217
options : & DifUpload ,
1218
- ) -> Result < MissingObjectsInfo < ' m , DifMatch < ' data > > > {
1218
+ ) -> Result < MissingObjectsInfo < ' m , T > >
1219
+ where
1220
+ T : AsRef < [ u8 ] > ,
1221
+ Chunked < T > : ToAssemble ,
1222
+ {
1219
1223
let api = Api :: current ( ) ;
1220
- let request = difs
1224
+ let request = objects
1221
1225
. iter ( )
1222
1226
. map ( |d| d. to_assemble ( options. pdbs_allowed ) )
1223
1227
. collect ( ) ;
@@ -1231,7 +1235,7 @@ fn try_assemble_difs<'data, 'm>(
1231
1235
// performed twice with the same data. While this is redundant, it is also
1232
1236
// fast enough and keeping it here makes the `try_assemble_difs` interface
1233
1237
// nicer.
1234
- let difs_by_checksum = difs
1238
+ let difs_by_checksum = objects
1235
1239
. iter ( )
1236
1240
. map ( |m| ( m. checksum ( ) , m) )
1237
1241
. collect :: < BTreeMap < _ , _ > > ( ) ;
@@ -1550,7 +1554,7 @@ fn upload_difs_chunked(
1550
1554
} ) ?;
1551
1555
1552
1556
// Upload missing chunks to the server and remember incomplete difs
1553
- let missing_info = try_assemble_difs ( & chunked, options) ?;
1557
+ let missing_info = try_assemble ( & chunked, options) ?;
1554
1558
upload_missing_chunks ( & missing_info, chunk_options) ?;
1555
1559
1556
1560
// Only if DIFs were missing, poll until assembling is complete
0 commit comments