feat(diagnostics): use default expression instead of todo! when missing fields

Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
This commit is contained in:
Benjamin Coenen 2022-01-07 14:13:34 +01:00
parent 0a4239a815
commit b60a29ca94
6 changed files with 12 additions and 13 deletions

View file

@ -73,7 +73,7 @@ fn fixes(ctx: &DiagnosticsContext<'_>, d: &hir::MissingFields) -> Option<Vec<Ass
let generate_fill_expr = |ty: &Type| match ctx.config.expr_fill_default {
crate::ExprFillDefaultMode::Todo => Some(make::ext::expr_todo()),
crate::ExprFillDefaultMode::DefaultImpl => {
crate::ExprFillDefaultMode::Default => {
let default_constr = get_default_constructor(ctx, d, ty);
match default_constr {
Some(default_constr) => Some(default_constr),
@ -159,7 +159,6 @@ fn get_default_constructor(
if let AssocItem::Function(func) = assoc_item {
if func.name(ctx.sema.db) == known::new
&& func.assoc_fn_params(ctx.sema.db).is_empty()
&& func.self_param(ctx.sema.db).is_none()
{
return Some(());
}