diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2018-01-15 15:02:53 -0800 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2018-01-15 15:20:48 -0800 |
| commit | 282f75a4ced2b859b10779ea91d7e889ddfdc659 (patch) | |
| tree | 33c32a276681dea64a69e56abfa7d00a1db2e021 /src | |
| parent | 4a7691692c517da9a28c1682c48af0d64891c9ee (diff) | |
| download | rust-282f75a4ced2b859b10779ea91d7e889ddfdc659.tar.gz rust-282f75a4ced2b859b10779ea91d7e889ddfdc659.zip | |
Review comments: remove enum suggestion
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_resolve/lib.rs | 28 |
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); } _ => {} } |
