fn prune_links_if_needed(ctx: &AppCtx, files: Vec<FileInfoNoLen>) -> Vec<FileInfoNoLen> {
    // if we allow non-unique, or they are already unique, don't deduplicate
    if ctx.config.hard_links || files.iter().unique_by(|i| i.id_hash).count() == files.len() {
        files
    } else {
        deduplicate(files, |p| file_id_or_log_err(p, &ctx.log))
    }
}
/// Unless `duplicate_links` is set to true,
/// remove duplicated `FileInfo` entries with the same inode and device id from the list.
Unless `duplicate_links` is set to true,
remove duplicated `FileInfo` entries with the same inode and device id from the list.
Unless ` duplicate_links ` is set to true remove duplicated ` FileInfo ` entries with the same inode and device id from the list .
fn prune_links_if_needed(ctx: &AppCtx, files: Vec<FileInfoNoLen>) -> Vec<FileInfoNoLen> {
    // if we allow non-unique, or they are already unique, don't deduplicate
    if ctx.config.hard_links || files.iter().unique_by(|i| i.id_hash).count() == files.len() {
        files
    } else {
        deduplicate(files, |p| file_id_or_log_err(p, &ctx.log))
    }
}
fn prune_links_if_needed ( ctx : & AppCtx , files : Vec < FileInfoNoLen > ) -> Vec < FileInfoNoLen > { // if we allow non-unique, or they are already unique, don't deduplicate if ctx . config . hard_links || files . iter ( ) . unique_by ( | i | i . id_hash ) . count ( ) == files . len ( ) { files } else { deduplicate ( files , | p | file_id_or_log_err ( p , & ctx . log ) ) } }
Unless `duplicate_links` is set to true,
remove duplicated `FileInfo` entries with the same inode and device id from the list.
Unless ` duplicate_links ` is set to true remove duplicated ` FileInfo ` entries with the same inode and device id from the list .
ctx
&AppCtx
files
Vec<FileInfoNoLen>
ctx
&AppCtx
files
Vec<FileInfoNoLen>