@@ -54,7 +54,8 @@ lazy_static! {
5454struct GithubMiddleware ;
5555
5656impl GithubMiddleware {
57- fn add_github_headers ( & self , request : & mut Request ) -> Result < ( ) > {
57+ #[ allow( clippy:: unnecessary_wraps) ]
58+ fn add_github_headers ( request : & mut Request ) -> Result < ( ) > {
5859 let headers = request. headers_mut ( ) ;
5960
6061 headers. append (
@@ -82,8 +83,8 @@ impl Middleware for GithubMiddleware {
8283 extensions : & mut Extensions ,
8384 next : Next < ' _ > ,
8485 ) -> reqwest_middleware:: Result < Response > {
85- match self . add_github_headers ( & mut request) {
86- Ok ( _ ) => next. run ( request, extensions) . await ,
86+ match GithubMiddleware :: add_github_headers ( & mut request) {
87+ Ok ( ( ) ) => next. run ( request, extensions) . await ,
8788 Err ( error) => Err ( reqwest_middleware:: Error :: Middleware ( error. into ( ) ) ) ,
8889 }
8990 }
@@ -131,12 +132,9 @@ async fn get_release(version: &Version) -> Result<Release> {
131132 }
132133
133134 for release in response_releases {
134- let release_version = match Version :: from_str ( & release. tag_name ) {
135- Ok ( release_version) => release_version,
136- Err ( _) => {
137- warn ! ( "Failed to parse release version {}" , release. tag_name) ;
138- continue ;
139- }
135+ let Ok ( release_version) = Version :: from_str ( & release. tag_name ) else {
136+ warn ! ( "Failed to parse release version {}" , release. tag_name) ;
137+ continue ;
140138 } ;
141139
142140 if version. matches ( & release_version) {
@@ -205,8 +203,7 @@ async fn get_asset<S: AsRef<str>>(version: &Version, target: S) -> Result<(Versi
205203
206204 match ( asset, asset_hash) {
207205 ( Some ( asset) , Some ( asset_hash) ) => Ok ( ( asset_version, asset, asset_hash) ) ,
208- ( None , _) => Err ( AssetNotFound ( asset_name. to_string ( ) ) ) ,
209- ( _, None ) => Err ( AssetNotFound ( asset_name. to_string ( ) ) ) ,
206+ ( _, None ) | ( None , _) => Err ( AssetNotFound ( asset_name. to_string ( ) ) ) ,
210207 }
211208}
212209
@@ -226,6 +223,7 @@ pub async fn get_archive(version: &Version) -> Result<(Version, Bytes)> {
226223/// is not found, then an [error](crate::error::Error) is returned.
227224///
228225/// Returns the archive version and bytes.
226+ #[ allow( clippy:: cast_precision_loss) ]
229227#[ instrument( level = "debug" , skip( target) ) ]
230228pub async fn get_archive_for_target < S : AsRef < str > > (
231229 version : & Version ,
@@ -320,6 +318,7 @@ fn acquire_lock(out_dir: &Path) -> Result<PathBuf> {
320318}
321319
322320/// Extracts the compressed tar [bytes](Bytes) to the [out_dir](Path).
321+ #[ allow( clippy:: cast_precision_loss) ]
323322#[ instrument( skip( bytes) ) ]
324323pub async fn extract ( bytes : & Bytes , out_dir : & Path ) -> Result < ( ) > {
325324 let input = BufReader :: new ( Cursor :: new ( bytes) ) ;
@@ -328,13 +327,13 @@ pub async fn extract(bytes: &Bytes, out_dir: &Path) -> Result<()> {
328327 let mut files = 0 ;
329328 let mut extracted_bytes = 0 ;
330329
331- let parent_dir = match out_dir. parent ( ) {
332- Some ( parent) => parent,
333- None => {
334- debug ! ( "No parent directory for {}" , out_dir. to_string_lossy( ) ) ;
335- out_dir
336- }
330+ let parent_dir = if let Some ( parent) = out_dir. parent ( ) {
331+ parent
332+ } else {
333+ debug ! ( "No parent directory for {}" , out_dir. to_string_lossy( ) ) ;
334+ out_dir
337335 } ;
336+
338337 create_dir_all ( parent_dir) ?;
339338
340339 let lock_file = acquire_lock ( parent_dir) ?;
@@ -370,7 +369,7 @@ pub async fn extract(bytes: &Bytes, out_dir: &Path) -> Result<()> {
370369 }
371370 } ;
372371 let stripped_entry_header_path = entry_header_path. strip_prefix ( prefix) ?. to_path_buf ( ) ;
373- let mut entry_name = extract_dir. to_path_buf ( ) ;
372+ let mut entry_name = extract_dir. clone ( ) ;
374373 entry_name. push ( stripped_entry_header_path) ;
375374
376375 if entry_type. is_dir ( ) || entry_name. is_dir ( ) {
0 commit comments