about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2018-01-15 15:02:53 -0800
committerEsteban Küber <esteban@kuber.com.ar>2018-01-15 15:20:48 -0800
commit282f75a4ced2b859b10779ea91d7e889ddfdc659 (patch)
tree33c32a276681dea64a69e56abfa7d00a1db2e021 /src
parent4a7691692c517da9a28c1682c48af0d64891c9ee (diff)
downloadrust-282f75a4ced2b859b10779ea91d7e889ddfdc659.tar.gz
rust-282f75a4ced2b859b10779ea91d7e889ddfdc659.zip
Review comments: remove enum suggestion
Diffstat (limited to 'src')
-rw-r--r--src/librustc_resolve/lib.rs28
1 files changed, 3 insertions, 25 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index a665caefbc5..889b6de7bfa 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -2709,16 +2709,6 @@ impl<'a> Resolver<'a> {
                             if is_expected(ctor_def) && !accessible_ctor {
                                 err.span_label(span, format!("constructor is not visible \
                                                               here due to private fields"));
-                            } else if accessible_ctor {
-                                let block = match ctor_def {
-                                    Def::StructCtor(_, CtorKind::Fn) => "(/* fields */)",
-                                    Def::StructCtor(_, CtorKind::Const) => "",
-                                    Def::Struct(..) => " { /* fields */ }",
-                                    def => bug!("found def `{:?}` when looking for a ctor", def),
-                                };
-                                err.span_label(span, format!("did you mean `{}{}`?",
-                                                             path_str,
-                                                             block));
                             }
                         } else {
                             err.span_label(span, format!("did you mean `{} {{ /* fields */ }}`?",
@@ -2726,26 +2716,14 @@ impl<'a> Resolver<'a> {
                         }
                         return (err, candidates);
                     }
-                    (Def::VariantCtor(_, CtorKind::Const), _) => {
-                        err.span_label(span, format!("did you mean `{}`?", path_str));
-                        return (err, candidates);
-                    }
-                    (Def::VariantCtor(_, CtorKind::Fn), _) => {
-                        err.span_label(span, format!("did you mean `{}( /* fields */ )`?",
-                                                      path_str));
-                        return (err, candidates);
-                    }
-                    (Def::VariantCtor(_, CtorKind::Fictive), _) => {
-                        err.span_label(span, format!("did you mean `{} {{ /* fields */ }}`?",
-                                                      path_str));
-                        return (err, candidates);
-                    }
                     (Def::SelfTy(..), _) if ns == ValueNS => {
                         err.note("can't use `Self` as a constructor, you must use the \
                                   implemented struct");
+                        return (err, candidates);
                     }
-                    (Def::TyAlias(_def_id), _) => {
+                    (Def::TyAlias(_), _) if ns == ValueNS => {
                         err.note("can't use a type alias as a constructor");
+                        return (err, candidates);
                     }
                     _ => {}
                 }