diff options
| author | Takayuki Maeda <takoyaki0316@gmail.com> | 2022-07-04 20:46:59 +0900 |
|---|---|---|
| committer | Takayuki Maeda <takoyaki0316@gmail.com> | 2022-07-04 20:46:59 +0900 |
| commit | eb80407d79a25cb9bdd98eca47764e57114d1d86 (patch) | |
| tree | fc196ac19610e815dd843d1f100e831e073a60fe /compiler/rustc_resolve/src | |
| parent | 2557603f320593be9d1c29a453c648e61e74d343 (diff) | |
| download | rust-eb80407d79a25cb9bdd98eca47764e57114d1d86.tar.gz rust-eb80407d79a25cb9bdd98eca47764e57114d1d86.zip | |
suggest `#[derive(Default)]` to enums with `#[default]`
Diffstat (limited to 'compiler/rustc_resolve/src')
| -rw-r--r-- | compiler/rustc_resolve/src/diagnostics.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/rustc_resolve/src/diagnostics.rs b/compiler/rustc_resolve/src/diagnostics.rs index e8b7cee5734..4fbbd9deaeb 100644 --- a/compiler/rustc_resolve/src/diagnostics.rs +++ b/compiler/rustc_resolve/src/diagnostics.rs @@ -1495,6 +1495,15 @@ impl<'a> Resolver<'a> { err.help("have you added the `#[macro_use]` on the module/import?"); return; } + if ident.name == kw::Default + && let ModuleKind::Def(DefKind::Enum, def_id, _) = parent_scope.module.kind + && let Some(span) = self.opt_span(def_id) + { + err.span_help( + self.session.source_map().guess_head_span(span), + "consider adding `#[derive(Default)]` to this enum", + ); + } for ns in [Namespace::MacroNS, Namespace::TypeNS, Namespace::ValueNS] { if let Ok(binding) = self.early_resolve_ident_in_lexical_scope( ident, |
