Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								b36f12dba5 
								
							 
						 
						
							
							
								
								Simplify  
							
							
							
						 
						
							2021-09-21 16:05:21 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								6d6e0b8f21 
								
							 
						 
						
							
							
								
								Generate ast nodes for each ast trait  
							
							
							
						 
						
							2021-09-21 15:52:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bors[bot] 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b7bedf16a1 
								
							 
						 
						
							
							
								
								Merge  #10289  
							
							... 
							
							
							
							10289: fix: Only strip derive attributes when preparing macro input r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10246 
cc https://github.com/rust-analyzer/rowan/pull/114 , follow up to https://github.com/rust-analyzer/rust-analyzer/pull/10025 
Co-authored-by: Lukas Wirth <lukastw97@gmail.com> 
							
						 
						
							2021-09-19 21:46:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								a6dde501df 
								
							 
						 
						
							
							
								
								Only strip derive attributes when preparing macro input  
							
							
							
						 
						
							2021-09-19 23:38:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								9c39363ada 
								
							 
						 
						
							
							
								
								Simplify  
							
							
							
						 
						
							2021-09-19 23:34:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								3987bf5d6f 
								
							 
						 
						
							
							
								
								Simplify  
							
							
							
						 
						
							2021-09-19 19:00:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bors[bot] 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d44779f8a5 
								
							 
						 
						
							
							
								
								Merge  #10260  
							
							... 
							
							
							
							10260: fix: fix names generation in `Generate function` r=Veykril a=iDawer
- Improve fn name computation (close  #10176 ).
- Handle tuple indexing expressions in argument position (should close  #10241 )
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com> 
							
						 
						
							2021-09-17 18:35:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrzej Głuszak 
								
							 
						 
						
							
							
							
							
								
							
							
								11a56f886b 
								
							 
						 
						
							
							
								
								assists: turn while into loop  
							
							
							
						 
						
							2021-09-16 22:20:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dawer 
								
							 
						 
						
							
							
							
							
								
							
							
								4dc33140a3 
								
							 
						 
						
							
							
								
								Imrove fn name computation in Generate function  
							
							
							
						 
						
							2021-09-16 21:03:37 +05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								682fbbbd5a 
								
							 
						 
						
							
							
								
								minor: modernize  
							
							
							
						 
						
							2021-09-06 18:54:16 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								104cd0ce88 
								
							 
						 
						
							
							
								
								internal: make name consistent with usage  
							
							
							
						 
						
							2021-09-06 18:34:03 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dawer 
								
							 
						 
						
							
							
							
							
								
							
							
								a6c650edf6 
								
							 
						 
						
							
							
								
								fix: use placeholder as default type in Generate function.  
							
							
							
						 
						
							2021-09-04 14:24:54 +05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Daiki Ihara 
								
							 
						 
						
							
							
							
							
								
							
							
								4d005e529b 
								
							 
						 
						
							
							
								
								Fix extract_function with macro arg  
							
							
							
						 
						
							2021-09-01 11:11:57 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								d1cd81f387 
								
							 
						 
						
							
							
								
								internal: more declarative re-indentation API  
							
							
							
						 
						
							2021-08-24 18:18:43 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bors[bot] 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6287d388c0 
								
							 
						 
						
							
							
								
								Merge  #9944  
							
							... 
							
							
							
							9944: internal: introduce in-place indenting API r=matklad a=iDawer
Introduce `edit_in_place::Indent` that uses mutable tree API and intended to replace `edit::AstNodeEdit`.
Closes  #9903  
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com> 
							
						 
						
							2021-08-24 13:11:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								0a7e57177e 
								
							 
						 
						
							
							
								
								internal: use single env var to controll all benchmarks  
							
							
							
						 
						
							2021-08-23 16:40:42 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dawer 
								
							 
						 
						
							
							
							
							
								
							
							
								08694dc1ef 
								
							 
						 
						
							
							
								
								minor: address review comments  
							
							
							
						 
						
							2021-08-18 19:04:10 +05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dawer 
								
							 
						 
						
							
							
							
							
								
							
							
								d6c4165182 
								
							 
						 
						
							
							
								
								internal: introduce in-place indenting API  
							
							
							
						 
						
							2021-08-18 16:05:23 +05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								3c49a9f079 
								
							 
						 
						
							
							
								
								minor: move functionality to a better place  
							
							
							
						 
						
							2021-08-14 20:43:28 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								78c7940f5c 
								
							 
						 
						
							
							
								
								internal: remove dead code  
							
							
							
						 
						
							2021-08-14 20:29:46 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								e300f58d2c 
								
							 
						 
						
							
							
								
								internal: remove one more usage of old editing API.  
							
							
							
						 
						
							2021-08-14 20:17:16 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								dc17b35e62 
								
							 
						 
						
							
							
								
								internal: remove a remnant of old editing infra  
							
							
							
						 
						
							2021-08-14 18:24:42 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								90357a9090 
								
							 
						 
						
							
							
								
								internal: merge hir::BinaryOp and ast::BinOp  
							
							
							
						 
						
							2021-08-14 18:10:01 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								fe4f059450 
								
							 
						 
						
							
							
								
								internal: prepare to merge hir::BinaryOp and ast::BinOp  
							
							
							
						 
						
							2021-08-14 17:07:51 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								6df00f8495 
								
							 
						 
						
							
							
								
								internal: make naming consistent  
							
							
							
						 
						
							2021-08-14 17:01:28 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Aleksey Kladov 
								
							 
						 
						
							
							
							
							
								
							
							
								faa420fc32 
								
							 
						 
						
							
							
								
								internal: prepare a dedicated module for all operators  
							
							
							
						 
						
							2021-08-14 16:58:46 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jonas Schievink 
								
							 
						 
						
							
							
							
							
								
							
							
								d568e7686a 
								
							 
						 
						
							
							
								
								Support if let match guards  
							
							
							
						 
						
							2021-08-13 00:25:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yoshua Wuyts 
								
							 
						 
						
							
							
							
							
								
							
							
								97ec6a27ec 
								
							 
						 
						
							
							
								
								add make::ext::path_from_idents  
							
							
							
						 
						
							2021-08-12 12:17:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yoshua Wuyts 
								
							 
						 
						
							
							
							
							
								
							
							
								1cf7af7032 
								
							 
						 
						
							
							
								
								wip enum record/tuple generation  
							
							
							
						 
						
							2021-08-10 22:08:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yoshua Wuyts 
								
							 
						 
						
							
							
							
							
								
							
							
								20c3b20db3 
								
							 
						 
						
							
							
								
								add make::expr_op  
							
							
							
						 
						
							2021-08-10 19:48:32 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									mahdi-frms 
								
							 
						 
						
							
							
							
							
								
							
							
								9ca73528ee 
								
							 
						 
						
							
							
								
								generate method assist  
							
							
							
						 
						
							2021-08-09 21:06:24 +04:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bors[bot] 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5664a2b0b3 
								
							 
						 
						
							
							
								
								Merge  #9814  
							
							... 
							
							
							
							9814: Generate default impl when converting `#[derive(Debug)]` to manual impl r=yoshuawuyts a=yoshuawuyts
This patch makes it so when you convert `#[derive(Debug)]` to a manual impl, a default body is provided that's equivalent to the original output of `#[derive(Debug)]`. This should make it drastically easier to write custom `Debug` impls, especially when all you want to do is quickly omit a single field which is `!Debug`.
This is implemented for enums, record structs, tuple structs, empty structs - and it sets us up to implement variations on this in the future for other traits (like `PartialEq` and `Hash`).
Thanks!
## Codegen diff
This is the difference in codegen for record structs with this patch:
```diff
struct Foo {
    bar: String,
}
impl fmt::Debug for Foo {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
-        todo!();
+        f.debug_struct("Foo").field("bar", &self.bar).finish()
    }
}
```
Co-authored-by: Irina Shestak <shestak.irina@gmail.com>
Co-authored-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
Co-authored-by: Yoshua Wuyts <yoshuawuyts+github@gmail.com> 
							
						 
						
							2021-08-08 22:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								3b7c713af3 
								
							 
						 
						
							
							
								
								Implement if_to_bool_then assist  
							
							
							
						 
						
							2021-08-08 17:56:34 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yoshua Wuyts 
								
							 
						 
						
							
							
							
							
								
							
							
								4b7ae9fedc 
								
							 
						 
						
							
							
								
								generate Debug for enums  
							
							
							
						 
						
							2021-08-08 16:26:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yoshua Wuyts 
								
							 
						 
						
							
							
							
							
								
							
							
								fd7236c791 
								
							 
						 
						
							
							
								
								debug for record field structs  
							
							
							
						 
						
							2021-08-08 16:26:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								c4a119f433 
								
							 
						 
						
							
							
								
								Simplify  
							
							
							
						 
						
							2021-08-07 22:16:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bors[bot] 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								80f522091a 
								
							 
						 
						
							
							
								
								Merge  #9790  
							
							... 
							
							
							
							9790: fix: extract_type_alias extracts generics correctly r=Veykril a=Veykril
Fixes  #8335 
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com> 
							
						 
						
							2021-08-05 00:54:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								b6d574642d 
								
							 
						 
						
							
							
								
								extract_type_alias extracts generics correctly  
							
							
							
						 
						
							2021-08-05 02:54:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jade 
								
							 
						 
						
							
							
							
							
								
							
							
								e3a67ccec6 
								
							 
						 
						
							
							
								
								tree-wide: fix rustdoc warnings, add some links  
							
							
							
						 
						
							2021-08-03 21:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								1edbaa29f9 
								
							 
						 
						
							
							
								
								Wrap inner tail expressions in MissingOkOrSomeInTailExpr  
							
							
							
						 
						
							2021-07-31 20:00:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								778e6e8ba8 
								
							 
						 
						
							
							
								
								add_explicit_type is applicable for closure parameters  
							
							
							
						 
						
							2021-07-31 14:04:34 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bors[bot] 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1f817833e7 
								
							 
						 
						
							
							
								
								Merge  #9727  
							
							... 
							
							
							
							9727: internal: Simplify extract_function assist r=Veykril a=Veykril
also fixes #7839(blocked on #9728 )
Co-authored-by: Lukas Wirth <lukastw97@gmail.com> 
							
						 
						
							2021-07-30 14:56:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bors[bot] 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0a3ac7a96c 
								
							 
						 
						
							
							
								
								Merge  #9728  
							
							... 
							
							
							
							9728: fix: Attach comma token to MATCH_ARM instead of MATCH_ARM_LIST r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com> 
							
						 
						
							2021-07-30 14:11:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								82c1e61887 
								
							 
						 
						
							
							
								
								Fix assists assuming comma belonging to MATCH_ARM_LIST  
							
							
							
						 
						
							2021-07-30 16:01:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								b21f66fce3 
								
							 
						 
						
							
							
								
								Simplify extract_function assist  
							
							
							
						 
						
							2021-07-29 22:07:56 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								b537cb186e 
								
							 
						 
						
							
							
								
								Use more strictly typed syntax nodes for analysis in extract_function assist  
							
							
							
						 
						
							2021-07-29 17:26:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexander Gonzalez 
								
							 
						 
						
							
							
							
							
								
							
							
								e57ad5456c 
								
							 
						 
						
							
							
								
								fix: Typos  
							
							
							
						 
						
							2021-07-27 18:31:21 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								dfdf6fd9f8 
								
							 
						 
						
							
							
								
								Fix some more basic clippy lints  
							
							
							
						 
						
							2021-07-21 20:52:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								f6cb42fdb8 
								
							 
						 
						
							
							
								
								Restrict completions inside visibility modifiers  
							
							
							
						 
						
							2021-07-20 18:37:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lukas Wirth 
								
							 
						 
						
							
							
							
							
								
							
							
								e7aa37c20a 
								
							 
						 
						
							
							
								
								Support GATs for associated type arg parsing  
							
							
							
						 
						
							2021-07-18 11:08:43 +02:00