diff options
| author | François Mockers <mockersf@gmail.com> | 2018-10-22 09:08:09 +0200 |
|---|---|---|
| committer | François Mockers <mockersf@gmail.com> | 2018-10-22 09:08:09 +0200 |
| commit | 8fe6688fcf14508f95db6c96b92f4279ccb0c6be (patch) | |
| tree | cac80437d05baf809513e31a0832c1c1c154a9f6 | |
| parent | 9eacd68a4945aaba244885c330f64004da58a408 (diff) | |
| download | rust-8fe6688fcf14508f95db6c96b92f4279ccb0c6be.tar.gz rust-8fe6688fcf14508f95db6c96b92f4279ccb0c6be.zip | |
better dummy span detection and remove redundant branch
| -rw-r--r-- | src/librustc_resolve/lib.rs | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index ba367cca245..b18747da0bc 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -4779,11 +4779,11 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> { if let ( Ok(snippet), NameBindingKind::Import { directive, ..}, - _x @ 1 ... std::u32::MAX, + _dummy @ false, ) = ( cm.span_to_snippet(binding.span), binding.kind.clone(), - binding.span.hi().0, + binding.span.is_dummy(), ) { let suggested_name = if name.as_str().chars().next().unwrap().is_uppercase() { format!("Other{}", name) @@ -4794,28 +4794,27 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> { err.span_suggestion_with_applicability( binding.span, &rename_msg, - match (&directive.subclass, snippet.ends_with(";"), snippet.as_ref()) { - (ImportDirectiveSubclass::SingleImport { .. }, false, "self") => + match (&directive.subclass, snippet.as_ref()) { + (ImportDirectiveSubclass::SingleImport { .. }, "self") => format!("self as {}", suggested_name), - (ImportDirectiveSubclass::SingleImport { source, .. }, false, _) => + (ImportDirectiveSubclass::SingleImport { source, .. }, _) => format!( - "{} as {}", - &snippet[..((source.span.hi().0 - binding.span.lo().0) as usize)], - suggested_name, - ), - (ImportDirectiveSubclass::SingleImport { source, .. }, true, _) => - format!( - "{} as {};", + "{} as {}{}", &snippet[..((source.span.hi().0 - binding.span.lo().0) as usize)], suggested_name, + if snippet.ends_with(";") { + ";" + } else { + "" + } ), - (ImportDirectiveSubclass::ExternCrate { source, target, .. }, _, _) => + (ImportDirectiveSubclass::ExternCrate { source, target, .. }, _) => format!( "extern crate {} as {};", source.unwrap_or(target.name), suggested_name, ), - (_, _, _) => unreachable!(), + (_, _) => unreachable!(), }, Applicability::MaybeIncorrect, ); |
