about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrançois Mockers <mockersf@gmail.com>2018-10-22 09:08:09 +0200
committerFrançois Mockers <mockersf@gmail.com>2018-10-22 09:08:09 +0200
commit8fe6688fcf14508f95db6c96b92f4279ccb0c6be (patch)
treecac80437d05baf809513e31a0832c1c1c154a9f6
parent9eacd68a4945aaba244885c330f64004da58a408 (diff)
downloadrust-8fe6688fcf14508f95db6c96b92f4279ccb0c6be.tar.gz
rust-8fe6688fcf14508f95db6c96b92f4279ccb0c6be.zip
better dummy span detection and remove redundant branch
-rw-r--r--src/librustc_resolve/lib.rs27
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,
                 );