Skip to content

Commit 63c9a1a

Browse files
committed
minor : Deunwrap generate_default_from_new
1 parent b64e5b3 commit 63c9a1a

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

crates/ide-assists/src/handlers/generate_default_from_new.rs

+11-7
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,28 @@ pub(crate) fn generate_default_from_new(acc: &mut Assists, ctx: &AssistContext<'
6161
}
6262

6363
let insert_location = impl_.syntax().text_range();
64+
let default_code = " fn default() -> Self {
65+
Self::new()
66+
}";
67+
let code = generate_trait_impl_text_from_impl(&impl_, "Default", default_code)?;
6468

6569
acc.add(
6670
AssistId("generate_default_from_new", crate::AssistKind::Generate),
6771
"Generate a Default impl from a new fn",
6872
insert_location,
6973
move |builder| {
70-
let default_code = " fn default() -> Self {
71-
Self::new()
72-
}";
73-
let code = generate_trait_impl_text_from_impl(&impl_, "Default", default_code);
7474
builder.insert(insert_location.end(), code);
7575
},
7676
)
7777
}
7878

7979
// FIXME: based on from utils::generate_impl_text_inner
80-
fn generate_trait_impl_text_from_impl(impl_: &ast::Impl, trait_text: &str, code: &str) -> String {
81-
let impl_ty = impl_.self_ty().unwrap();
80+
fn generate_trait_impl_text_from_impl(
81+
impl_: &ast::Impl,
82+
trait_text: &str,
83+
code: &str,
84+
) -> Option<String> {
85+
let impl_ty = impl_.self_ty()?;
8286
let generic_params = impl_.generic_param_list().map(|generic_params| {
8387
let lifetime_params =
8488
generic_params.lifetime_params().map(ast::GenericParam::LifetimeParam);
@@ -120,7 +124,7 @@ fn generate_trait_impl_text_from_impl(impl_: &ast::Impl, trait_text: &str, code:
120124
}
121125
}
122126

123-
buf
127+
Some(buf)
124128
}
125129

126130
fn is_default_implemented(ctx: &AssistContext<'_>, impl_: &Impl) -> bool {

0 commit comments

Comments
 (0)