diff options
Diffstat (limited to 'docs/user/assists.md')
-rw-r--r-- | docs/user/assists.md | 66 |
1 files changed, 53 insertions, 13 deletions
diff --git a/docs/user/assists.md b/docs/user/assists.md index 692fd4f52..4ad7ea59d 100644 --- a/docs/user/assists.md +++ b/docs/user/assists.md | |||
@@ -17,7 +17,7 @@ struct S; | |||
17 | struct S; | 17 | struct S; |
18 | 18 | ||
19 | impl Debug for S { | 19 | impl Debug for S { |
20 | 20 | $0 | |
21 | } | 21 | } |
22 | ``` | 22 | ``` |
23 | 23 | ||
@@ -33,7 +33,7 @@ struct Point { | |||
33 | } | 33 | } |
34 | 34 | ||
35 | // AFTER | 35 | // AFTER |
36 | #[derive()] | 36 | #[derive($0)] |
37 | struct Point { | 37 | struct Point { |
38 | x: u32, | 38 | x: u32, |
39 | y: u32, | 39 | y: u32, |
@@ -77,7 +77,7 @@ fn foo() { | |||
77 | } | 77 | } |
78 | 78 | ||
79 | fn bar(arg: &str, baz: Baz) { | 79 | fn bar(arg: &str, baz: Baz) { |
80 | todo!() | 80 | ${0:todo!()} |
81 | } | 81 | } |
82 | 82 | ||
83 | ``` | 83 | ``` |
@@ -105,16 +105,16 @@ Adds a new inherent impl for a type. | |||
105 | ```rust | 105 | ```rust |
106 | // BEFORE | 106 | // BEFORE |
107 | struct Ctx<T: Clone> { | 107 | struct Ctx<T: Clone> { |
108 | data: T,┃ | 108 | data: T,┃ |
109 | } | 109 | } |
110 | 110 | ||
111 | // AFTER | 111 | // AFTER |
112 | struct Ctx<T: Clone> { | 112 | struct Ctx<T: Clone> { |
113 | data: T, | 113 | data: T, |
114 | } | 114 | } |
115 | 115 | ||
116 | impl<T: Clone> Ctx<T> { | 116 | impl<T: Clone> Ctx<T> { |
117 | 117 | $0 | |
118 | } | 118 | } |
119 | ``` | 119 | ``` |
120 | 120 | ||
@@ -146,7 +146,7 @@ trait Trait { | |||
146 | impl Trait for () { | 146 | impl Trait for () { |
147 | Type X = (); | 147 | Type X = (); |
148 | fn foo(&self) {} | 148 | fn foo(&self) {} |
149 | fn bar(&self) {} | 149 | $0fn bar(&self) {} |
150 | 150 | ||
151 | } | 151 | } |
152 | ``` | 152 | ``` |
@@ -176,7 +176,7 @@ trait Trait<T> { | |||
176 | 176 | ||
177 | impl Trait<u32> for () { | 177 | impl Trait<u32> for () { |
178 | fn foo(&self) -> u32 { | 178 | fn foo(&self) -> u32 { |
179 | todo!() | 179 | ${0:todo!()} |
180 | } | 180 | } |
181 | 181 | ||
182 | } | 182 | } |
@@ -198,11 +198,29 @@ struct Ctx<T: Clone> { | |||
198 | } | 198 | } |
199 | 199 | ||
200 | impl<T: Clone> Ctx<T> { | 200 | impl<T: Clone> Ctx<T> { |
201 | fn new(data: T) -> Self { Self { data } } | 201 | fn $0new(data: T) -> Self { Self { data } } |
202 | } | 202 | } |
203 | 203 | ||
204 | ``` | 204 | ``` |
205 | 205 | ||
206 | ## `add_turbo_fish` | ||
207 | |||
208 | Adds `::<_>` to a call of a generic method or function. | ||
209 | |||
210 | ```rust | ||
211 | // BEFORE | ||
212 | fn make<T>() -> T { todo!() } | ||
213 | fn main() { | ||
214 | let x = make┃(); | ||
215 | } | ||
216 | |||
217 | // AFTER | ||
218 | fn make<T>() -> T { todo!() } | ||
219 | fn main() { | ||
220 | let x = make::<${0:_}>(); | ||
221 | } | ||
222 | ``` | ||
223 | |||
206 | ## `apply_demorgan` | 224 | ## `apply_demorgan` |
207 | 225 | ||
208 | Apply [De Morgan's law](https://en.wikipedia.org/wiki/De_Morgan%27s_laws). | 226 | Apply [De Morgan's law](https://en.wikipedia.org/wiki/De_Morgan%27s_laws). |
@@ -250,7 +268,7 @@ Change the function's return type to Result. | |||
250 | fn foo() -> i32┃ { 42i32 } | 268 | fn foo() -> i32┃ { 42i32 } |
251 | 269 | ||
252 | // AFTER | 270 | // AFTER |
253 | fn foo() -> Result<i32, > { Ok(42i32) } | 271 | fn foo() -> Result<i32, ${0:_}> { Ok(42i32) } |
254 | ``` | 272 | ``` |
255 | 273 | ||
256 | ## `change_visibility` | 274 | ## `change_visibility` |
@@ -307,12 +325,34 @@ enum Action { Move { distance: u32 }, Stop } | |||
307 | 325 | ||
308 | fn handle(action: Action) { | 326 | fn handle(action: Action) { |
309 | match action { | 327 | match action { |
310 | Action::Move { distance } => {} | 328 | $0Action::Move { distance } => {} |
311 | Action::Stop => {} | 329 | Action::Stop => {} |
312 | } | 330 | } |
313 | } | 331 | } |
314 | ``` | 332 | ``` |
315 | 333 | ||
334 | ## `fix_visibility` | ||
335 | |||
336 | Makes inaccessible item public. | ||
337 | |||
338 | ```rust | ||
339 | // BEFORE | ||
340 | mod m { | ||
341 | fn frobnicate() {} | ||
342 | } | ||
343 | fn main() { | ||
344 | m::frobnicate┃() {} | ||
345 | } | ||
346 | |||
347 | // AFTER | ||
348 | mod m { | ||
349 | $0pub(crate) fn frobnicate() {} | ||
350 | } | ||
351 | fn main() { | ||
352 | m::frobnicate() {} | ||
353 | } | ||
354 | ``` | ||
355 | |||
316 | ## `flip_binexpr` | 356 | ## `flip_binexpr` |
317 | 357 | ||
318 | Flips operands of a binary expression. | 358 | Flips operands of a binary expression. |
@@ -386,7 +426,7 @@ fn main() { | |||
386 | 426 | ||
387 | // AFTER | 427 | // AFTER |
388 | fn main() { | 428 | fn main() { |
389 | let var_name = (1 + 2); | 429 | let $0var_name = (1 + 2); |
390 | var_name * 4; | 430 | var_name * 4; |
391 | } | 431 | } |
392 | ``` | 432 | ``` |
@@ -693,7 +733,7 @@ fn main() { | |||
693 | let x: Result<i32, i32> = Result::Ok(92); | 733 | let x: Result<i32, i32> = Result::Ok(92); |
694 | let y = match x { | 734 | let y = match x { |
695 | Ok(a) => a, | 735 | Ok(a) => a, |
696 | _ => unreachable!(), | 736 | $0_ => unreachable!(), |
697 | }; | 737 | }; |
698 | } | 738 | } |
699 | ``` | 739 | ``` |