about summary refs log tree commit diff
diff options
context:
space:
mode:
authoralibektas <bektasali@protonmail.com>2023-04-17 00:41:08 +0300
committeralibektas <bektasali@protonmail.com>2023-04-21 20:46:57 +0300
commit4601331ceb07ff8669b4089a18be676ae614009f (patch)
treeb42b34f4cdcfb29805fc4ab38224f9f3e28dabc5
parenta6464392c15fa8788215d669c4c0b1e46bcadeea (diff)
downloadrust-4601331ceb07ff8669b4089a18be676ae614009f.tar.gz
rust-4601331ceb07ff8669b4089a18be676ae614009f.zip
Simple fix for make::impl_trait
-rw-r--r--crates/syntax/src/ast/make.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/crates/syntax/src/ast/make.rs b/crates/syntax/src/ast/make.rs
index 5aebe4cd9f5..c56ddb51609 100644
--- a/crates/syntax/src/ast/make.rs
+++ b/crates/syntax/src/ast/make.rs
@@ -184,8 +184,11 @@ pub fn impl_trait(
     ty: ast::Path,
     ty_params: Option<ast::GenericParamList>,
 ) -> ast::Impl {
-    let ty_params = ty_params.map_or_else(String::new, |params| params.to_string());
-    ast_from_text(&format!("impl{ty_params} {trait_} for {ty}{ty_params} {{}}"))
+    // TODO : If this function is now correct we can also change `impl_` accordingly`
+    let ty_params_str = ty_params.as_ref().map_or_else(String::new, |params| params.to_string());
+    let ty_genargs_str =
+        ty_params.map_or_else(String::new, |params| params.to_generic_args().to_string());
+    ast_from_text(&format!("impl{ty_params_str} {trait_} for {ty}{ty_genargs_str} {{}}"))
 }
 
 pub fn path_segment(name_ref: ast::NameRef) -> ast::PathSegment {