@@ -395,46 +395,25 @@ fn url_display(url: &Url) -> String {
395
395
396
396
impl fmt:: Display for SourceId {
397
397
fn fmt ( & self , f : & mut Formatter < ' _ > ) -> fmt:: Result {
398
- match * self . inner {
399
- SourceIdInner {
400
- kind : Kind :: Path ,
401
- ref url,
402
- ..
403
- } => write ! ( f, "{}" , url_display( url) ) ,
404
- SourceIdInner {
405
- kind : Kind :: Git ( ref reference) ,
406
- ref url,
407
- ref precise,
408
- ..
409
- } => {
398
+ match self . inner . kind {
399
+ Kind :: Git ( ref reference) => {
410
400
// Don't replace the URL display for git references,
411
401
// because those are kind of expected to be URLs.
412
- write ! ( f, "{}" , url) ?;
402
+ write ! ( f, "{}" , self . inner . url) ?;
413
403
if let Some ( pretty) = reference. pretty_ref ( ) {
414
404
write ! ( f, "?{}" , pretty) ?;
415
405
}
416
406
417
- if let Some ( ref s) = * precise {
407
+ if let Some ( ref s) = self . inner . precise {
418
408
let len = cmp:: min ( s. len ( ) , 8 ) ;
419
409
write ! ( f, "#{}" , & s[ ..len] ) ?;
420
410
}
421
411
Ok ( ( ) )
422
412
}
423
- SourceIdInner {
424
- kind : Kind :: Registry ,
425
- ref url,
426
- ..
427
- }
428
- | SourceIdInner {
429
- kind : Kind :: LocalRegistry ,
430
- ref url,
431
- ..
432
- } => write ! ( f, "registry `{}`" , url_display( url) ) ,
433
- SourceIdInner {
434
- kind : Kind :: Directory ,
435
- ref url,
436
- ..
437
- } => write ! ( f, "dir {}" , url_display( url) ) ,
413
+ Kind :: Path => write ! ( f, "{}" , url_display( & self . inner. url) ) ,
414
+ Kind :: Registry => write ! ( f, "registry `{}`" , url_display( & self . inner. url) ) ,
415
+ Kind :: LocalRegistry => write ! ( f, "registry `{}`" , url_display( & self . inner. url) ) ,
416
+ Kind :: Directory => write ! ( f, "dir {}" , url_display( & self . inner. url) ) ,
438
417
}
439
418
}
440
419
}
@@ -479,7 +458,7 @@ impl Ord for SourceIdInner {
479
458
ord => return ord,
480
459
}
481
460
match ( & self . kind , & other. kind ) {
482
- ( & Kind :: Git ( ref ref1) , & Kind :: Git ( ref ref2) ) => {
461
+ ( Kind :: Git ( ref1) , Kind :: Git ( ref2) ) => {
483
462
( ref1, & self . canonical_url ) . cmp ( & ( ref2, & other. canonical_url ) )
484
463
}
485
464
_ => self . kind . cmp ( & other. kind ) ,
@@ -493,12 +472,8 @@ impl Ord for SourceIdInner {
493
472
impl Hash for SourceId {
494
473
fn hash < S : hash:: Hasher > ( & self , into : & mut S ) {
495
474
self . inner . kind . hash ( into) ;
496
- match * self . inner {
497
- SourceIdInner {
498
- kind : Kind :: Git ( ..) ,
499
- ref canonical_url,
500
- ..
501
- } => canonical_url. as_str ( ) . hash ( into) ,
475
+ match self . inner . kind {
476
+ Kind :: Git ( _) => self . inner . canonical_url . as_str ( ) . hash ( into) ,
502
477
_ => self . inner . url . as_str ( ) . hash ( into) ,
503
478
}
504
479
}
0 commit comments