diff options
| author | bors <bors@rust-lang.org> | 2024-06-11 08:05:40 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-06-11 08:05:40 +0000 |
| commit | 704b56b5bb843024e1e2cb41a6e95b127a6cb8d5 (patch) | |
| tree | f0380d5635e8d4a6cf9fbdedf57d591af0858b8c | |
| parent | c9951900442de1b71c93e855326b232678e73c67 (diff) | |
| parent | b45cf63f06411d09327d3c4de0cf7d5834cc421f (diff) | |
| download | rust-704b56b5bb843024e1e2cb41a6e95b127a6cb8d5.tar.gz rust-704b56b5bb843024e1e2cb41a6e95b127a6cb8d5.zip | |
Auto merge of #17377 - Young-Flash:hir_print, r=Veykril
internal: better print style for hir before:  after: 
| -rw-r--r-- | src/tools/rust-analyzer/crates/hir-def/src/body/pretty.rs | 17 | ||||
| -rw-r--r-- | src/tools/rust-analyzer/crates/hir-def/src/body/tests.rs | 8 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/tools/rust-analyzer/crates/hir-def/src/body/pretty.rs b/src/tools/rust-analyzer/crates/hir-def/src/body/pretty.rs index cbb5ca887f4..c48d16d0530 100644 --- a/src/tools/rust-analyzer/crates/hir-def/src/body/pretty.rs +++ b/src/tools/rust-analyzer/crates/hir-def/src/body/pretty.rs @@ -48,21 +48,30 @@ pub(super) fn print_body_hir(db: &dyn DefDatabase, body: &Body, owner: DefWithBo let mut p = Printer { db, body, buf: header, indent_level: 0, needs_indent: false }; if let DefWithBodyId::FunctionId(it) = owner { p.buf.push('('); - let params = &db.function_data(it).params; - let mut params = params.iter(); + let function_data = &db.function_data(it); + let (mut params, ret_type) = (function_data.params.iter(), &function_data.ret_type); if let Some(self_param) = body.self_param { p.print_binding(self_param); - p.buf.push(':'); + p.buf.push_str(": "); if let Some(ty) = params.next() { p.print_type_ref(ty); + p.buf.push_str(", "); } } body.params.iter().zip(params).for_each(|(¶m, ty)| { p.print_pat(param); - p.buf.push(':'); + p.buf.push_str(": "); p.print_type_ref(ty); + p.buf.push_str(", "); }); + // remove the last ", " in param list + if body.params.len() > 0 { + p.buf.truncate(p.buf.len() - 2); + } p.buf.push(')'); + // return type + p.buf.push_str(" -> "); + p.print_type_ref(ret_type); p.buf.push(' '); } p.print_expr(body.body_expr); diff --git a/src/tools/rust-analyzer/crates/hir-def/src/body/tests.rs b/src/tools/rust-analyzer/crates/hir-def/src/body/tests.rs index e8b26d53734..0011d3a20c2 100644 --- a/src/tools/rust-analyzer/crates/hir-def/src/body/tests.rs +++ b/src/tools/rust-analyzer/crates/hir-def/src/body/tests.rs @@ -156,7 +156,7 @@ fn main() { ); expect![[r#" - fn main() { + fn main() -> () { let are = "are"; let count = 10; builtin#lang(Arguments::new_v1_formatted)( @@ -258,7 +258,7 @@ impl SsrError { assert_eq!(db.body_with_source_map(def).1.diagnostics(), &[]); expect