aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists/src/tests/generated.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_assists/src/tests/generated.rs')
-rw-r--r--crates/ra_assists/src/tests/generated.rs848
1 files changed, 848 insertions, 0 deletions
diff --git a/crates/ra_assists/src/tests/generated.rs b/crates/ra_assists/src/tests/generated.rs
new file mode 100644
index 000000000..d17504529
--- /dev/null
+++ b/crates/ra_assists/src/tests/generated.rs
@@ -0,0 +1,848 @@
1//! Generated file, do not edit by hand, see `xtask/src/codegen`
2
3use super::check_doc_test;
4
5#[test]
6fn doctest_add_custom_impl() {
7 check_doc_test(
8 "add_custom_impl",
9 r#####"
10#[derive(Deb<|>ug, Display)]
11struct S;
12"#####,
13 r#####"
14#[derive(Display)]
15struct S;
16
17impl Debug for S {
18 $0
19}
20"#####,
21 )
22}
23
24#[test]
25fn doctest_add_derive() {
26 check_doc_test(
27 "add_derive",
28 r#####"
29struct Point {
30 x: u32,
31 y: u32,<|>
32}
33"#####,
34 r#####"
35#[derive($0)]
36struct Point {
37 x: u32,
38 y: u32,
39}
40"#####,
41 )
42}
43
44#[test]
45fn doctest_add_explicit_type() {
46 check_doc_test(
47 "add_explicit_type",
48 r#####"
49fn main() {
50 let x<|> = 92;
51}
52"#####,
53 r#####"
54fn main() {
55 let x: i32 = 92;
56}
57"#####,
58 )
59}
60
61#[test]
62fn doctest_add_from_impl_for_enum() {
63 check_doc_test(
64 "add_from_impl_for_enum",
65 r#####"
66enum A { <|>One(u32) }
67"#####,
68 r#####"
69enum A { One(u32) }
70
71impl From<u32> for A {
72 fn from(v: u32) -> Self {
73 A::One(v)
74 }
75}
76"#####,
77 )
78}
79
80#[test]
81fn doctest_add_function() {
82 check_doc_test(
83 "add_function",
84 r#####"
85struct Baz;
86fn baz() -> Baz { Baz }
87fn foo() {
88 bar<|>("", baz());
89}
90
91"#####,
92 r#####"
93struct Baz;
94fn baz() -> Baz { Baz }
95fn foo() {
96 bar("", baz());
97}
98
99fn bar(arg: &str, baz: Baz) {
100 ${0:todo!()}
101}
102
103"#####,
104 )
105}
106
107#[test]
108fn doctest_add_hash() {
109 check_doc_test(
110 "add_hash",
111 r#####"
112fn main() {
113 r#"Hello,<|> World!"#;
114}
115"#####,
116 r#####"
117fn main() {
118 r##"Hello, World!"##;
119}
120"#####,
121 )
122}
123
124#[test]
125fn doctest_add_impl() {
126 check_doc_test(
127 "add_impl",
128 r#####"
129struct Ctx<T: Clone> {
130 data: T,<|>
131}
132"#####,
133 r#####"
134struct Ctx<T: Clone> {
135 data: T,
136}
137
138impl<T: Clone> Ctx<T> {
139 $0
140}
141"#####,
142 )
143}
144
145#[test]
146fn doctest_add_impl_default_members() {
147 check_doc_test(
148 "add_impl_default_members",
149 r#####"
150trait Trait {
151 Type X;
152 fn foo(&self);
153 fn bar(&self) {}
154}
155
156impl Trait for () {
157 Type X = ();
158 fn foo(&self) {}<|>
159
160}
161"#####,
162 r#####"
163trait Trait {
164 Type X;
165 fn foo(&self);
166 fn bar(&self) {}
167}
168
169impl Trait for () {
170 Type X = ();
171 fn foo(&self) {}
172 $0fn bar(&self) {}
173
174}
175"#####,
176 )
177}
178
179#[test]
180fn doctest_add_impl_missing_members() {
181 check_doc_test(
182 "add_impl_missing_members",
183 r#####"
184trait Trait<T> {
185 Type X;
186 fn foo(&self) -> T;
187 fn bar(&self) {}
188}
189
190impl Trait<u32> for () {<|>
191
192}
193"#####,
194 r#####"
195trait Trait<T> {
196 Type X;
197 fn foo(&self) -> T;
198 fn bar(&self) {}
199}
200
201impl Trait<u32> for () {
202 fn foo(&self) -> u32 {
203 ${0:todo!()}
204 }
205
206}
207"#####,
208 )
209}
210
211#[test]
212fn doctest_add_new() {
213 check_doc_test(
214 "add_new",
215 r#####"
216struct Ctx<T: Clone> {
217 data: T,<|>
218}
219"#####,
220 r#####"
221struct Ctx<T: Clone> {
222 data: T,
223}
224
225impl<T: Clone> Ctx<T> {
226 fn $0new(data: T) -> Self { Self { data } }
227}
228
229"#####,
230 )
231}
232
233#[test]
234fn doctest_add_turbo_fish() {
235 check_doc_test(
236 "add_turbo_fish",
237 r#####"
238fn make<T>() -> T { todo!() }
239fn main() {
240 let x = make<|>();
241}
242"#####,
243 r#####"
244fn make<T>() -> T { todo!() }
245fn main() {
246 let x = make::<${0:_}>();
247}
248"#####,
249 )
250}
251
252#[test]
253fn doctest_apply_demorgan() {
254 check_doc_test(
255 "apply_demorgan",
256 r#####"
257fn main() {
258 if x != 4 ||<|> !y {}
259}
260"#####,
261 r#####"
262fn main() {
263 if !(x == 4 && y) {}
264}
265"#####,
266 )
267}
268
269#[test]
270fn doctest_auto_import() {
271 check_doc_test(
272 "auto_import",
273 r#####"
274fn main() {
275 let map = HashMap<|>::new();
276}
277pub mod std { pub mod collections { pub struct HashMap { } } }
278"#####,
279 r#####"
280use std::collections::HashMap;
281
282fn main() {
283 let map = HashMap::new();
284}
285pub mod std { pub mod collections { pub struct HashMap { } } }
286"#####,
287 )
288}
289
290#[test]
291fn doctest_change_return_type_to_result() {
292 check_doc_test(
293 "change_return_type_to_result",
294 r#####"
295fn foo() -> i32<|> { 42i32 }
296"#####,
297 r#####"
298fn foo() -> Result<i32, ${0:_}> { Ok(42i32) }
299"#####,
300 )
301}
302
303#[test]
304fn doctest_change_visibility() {
305 check_doc_test(
306 "change_visibility",
307 r#####"
308<|>fn frobnicate() {}
309"#####,
310 r#####"
311pub(crate) fn frobnicate() {}
312"#####,
313 )
314}
315
316#[test]
317fn doctest_convert_to_guarded_return() {
318 check_doc_test(
319 "convert_to_guarded_return",
320 r#####"
321fn main() {
322 <|>if cond {
323 foo();
324 bar();
325 }
326}
327"#####,
328 r#####"
329fn main() {
330 if !cond {
331 return;
332 }
333 foo();
334 bar();
335}
336"#####,
337 )
338}
339
340#[test]
341fn doctest_fill_match_arms() {
342 check_doc_test(
343 "fill_match_arms",
344 r#####"
345enum Action { Move { distance: u32 }, Stop }
346
347fn handle(action: Action) {
348 match action {
349 <|>
350 }
351}
352"#####,
353 r#####"
354enum Action { Move { distance: u32 }, Stop }
355
356fn handle(action: Action) {
357 match action {
358 $0Action::Move { distance } => {}
359 Action::Stop => {}
360 }
361}
362"#####,
363 )
364}
365
366#[test]
367fn doctest_fix_visibility() {
368 check_doc_test(
369 "fix_visibility",
370 r#####"
371mod m {
372 fn frobnicate() {}
373}
374fn main() {
375 m::frobnicate<|>() {}
376}
377"#####,
378 r#####"
379mod m {
380 $0pub(crate) fn frobnicate() {}
381}
382fn main() {
383 m::frobnicate() {}
384}
385"#####,
386 )
387}
388
389#[test]
390fn doctest_flip_binexpr() {
391 check_doc_test(
392 "flip_binexpr",
393 r#####"
394fn main() {
395 let _ = 90 +<|> 2;
396}
397"#####,
398 r#####"
399fn main() {
400 let _ = 2 + 90;
401}
402"#####,
403 )
404}
405
406#[test]
407fn doctest_flip_comma() {
408 check_doc_test(
409 "flip_comma",
410 r#####"
411fn main() {
412 ((1, 2),<|> (3, 4));
413}
414"#####,
415 r#####"
416fn main() {
417 ((3, 4), (1, 2));
418}
419"#####,
420 )
421}
422
423#[test]
424fn doctest_flip_trait_bound() {
425 check_doc_test(
426 "flip_trait_bound",
427 r#####"
428fn foo<T: Clone +<|> Copy>() { }
429"#####,
430 r#####"
431fn foo<T: Copy + Clone>() { }
432"#####,
433 )
434}
435
436#[test]
437fn doctest_inline_local_variable() {
438 check_doc_test(
439 "inline_local_variable",
440 r#####"
441fn main() {
442 let x<|> = 1 + 2;
443 x * 4;
444}
445"#####,
446 r#####"
447fn main() {
448 (1 + 2) * 4;
449}
450"#####,
451 )
452}
453
454#[test]
455fn doctest_introduce_named_lifetime() {
456 check_doc_test(
457 "introduce_named_lifetime",
458 r#####"
459impl Cursor<'_<|>> {
460 fn node(self) -> &SyntaxNode {
461 match self {
462 Cursor::Replace(node) | Cursor::Before(node) => node,
463 }
464 }
465}
466"#####,
467 r#####"
468impl<'a> Cursor<'a> {
469 fn node(self) -> &SyntaxNode {
470 match self {
471 Cursor::Replace(node) | Cursor::Before(node) => node,
472 }
473 }
474}
475"#####,
476 )
477}
478
479#[test]
480fn doctest_introduce_variable() {
481 check_doc_test(
482 "introduce_variable",
483 r#####"
484fn main() {
485 <|>(1 + 2)<|> * 4;
486}
487"#####,
488 r#####"
489fn main() {
490 let $0var_name = (1 + 2);
491 var_name * 4;
492}
493"#####,
494 )
495}
496
497#[test]
498fn doctest_invert_if() {
499 check_doc_test(
500 "invert_if",
501 r#####"
502fn main() {
503 if<|> !y { A } else { B }
504}
505"#####,
506 r#####"
507fn main() {
508 if y { B } else { A }
509}
510"#####,
511 )
512}
513
514#[test]
515fn doctest_make_raw_string() {
516 check_doc_test(
517 "make_raw_string",
518 r#####"
519fn main() {
520 "Hello,<|> World!";
521}
522"#####,
523 r#####"
524fn main() {
525 r#"Hello, World!"#;
526}
527"#####,
528 )
529}
530
531#[test]
532fn doctest_make_usual_string() {
533 check_doc_test(
534 "make_usual_string",
535 r#####"
536fn main() {
537 r#"Hello,<|> "World!""#;
538}
539"#####,
540 r#####"
541fn main() {
542 "Hello, \"World!\"";
543}
544"#####,
545 )
546}
547
548#[test]
549fn doctest_merge_imports() {
550 check_doc_test(
551 "merge_imports",
552 r#####"
553use std::<|>fmt::Formatter;
554use std::io;
555"#####,
556 r#####"
557use std::{fmt::Formatter, io};
558"#####,
559 )
560}
561
562#[test]
563fn doctest_merge_match_arms() {
564 check_doc_test(
565 "merge_match_arms",
566 r#####"
567enum Action { Move { distance: u32 }, Stop }
568
569fn handle(action: Action) {
570 match action {
571 <|>Action::Move(..) => foo(),
572 Action::Stop => foo(),
573 }
574}
575"#####,
576 r#####"
577enum Action { Move { distance: u32 }, Stop }
578
579fn handle(action: Action) {
580 match action {
581 Action::Move(..) | Action::Stop => foo(),
582 }
583}
584"#####,
585 )
586}
587
588#[test]
589fn doctest_move_arm_cond_to_match_guard() {
590 check_doc_test(
591 "move_arm_cond_to_match_guard",
592 r#####"
593enum Action { Move { distance: u32 }, Stop }
594
595fn handle(action: Action) {
596 match action {
597 Action::Move { distance } => <|>if distance > 10 { foo() },
598 _ => (),
599 }
600}
601"#####,
602 r#####"
603enum Action { Move { distance: u32 }, Stop }
604
605fn handle(action: Action) {
606 match action {
607 Action::Move { distance } if distance > 10 => foo(),
608 _ => (),
609 }
610}
611"#####,
612 )
613}
614
615#[test]
616fn doctest_move_bounds_to_where_clause() {
617 check_doc_test(
618 "move_bounds_to_where_clause",
619 r#####"
620fn apply<T, U, <|>F: FnOnce(T) -> U>(f: F, x: T) -> U {
621 f(x)
622}
623"#####,
624 r#####"
625fn apply<T, U, F>(f: F, x: T) -> U where F: FnOnce(T) -> U {
626 f(x)
627}
628"#####,
629 )
630}
631
632#[test]
633fn doctest_move_guard_to_arm_body() {
634 check_doc_test(
635 "move_guard_to_arm_body",
636 r#####"
637enum Action { Move { distance: u32 }, Stop }
638
639fn handle(action: Action) {
640 match action {
641 Action::Move { distance } <|>if distance > 10 => foo(),
642 _ => (),
643 }
644}
645"#####,
646 r#####"
647enum Action { Move { distance: u32 }, Stop }
648
649fn handle(action: Action) {
650 match action {
651 Action::Move { distance } => if distance > 10 { foo() },
652 _ => (),
653 }
654}
655"#####,
656 )
657}
658
659#[test]
660fn doctest_remove_dbg() {
661 check_doc_test(
662 "remove_dbg",
663 r#####"
664fn main() {
665 <|>dbg!(92);
666}
667"#####,
668 r#####"
669fn main() {
670 92;
671}
672"#####,
673 )
674}
675
676#[test]
677fn doctest_remove_hash() {
678 check_doc_test(
679 "remove_hash",
680 r#####"
681fn main() {
682 r#"Hello,<|> World!"#;
683}
684"#####,
685 r#####"
686fn main() {
687 r"Hello, World!";
688}
689"#####,
690 )
691}
692
693#[test]
694fn doctest_remove_mut() {
695 check_doc_test(
696 "remove_mut",
697 r#####"
698impl Walrus {
699 fn feed(&mut<|> self, amount: u32) {}
700}
701"#####,
702 r#####"
703impl Walrus {
704 fn feed(&self, amount: u32) {}
705}
706"#####,
707 )
708}
709
710#[test]
711fn doctest_reorder_fields() {
712 check_doc_test(
713 "reorder_fields",
714 r#####"
715struct Foo {foo: i32, bar: i32};
716const test: Foo = <|>Foo {bar: 0, foo: 1}
717"#####,
718 r#####"
719struct Foo {foo: i32, bar: i32};
720const test: Foo = Foo {foo: 1, bar: 0}
721"#####,
722 )
723}
724
725#[test]
726fn doctest_replace_if_let_with_match() {
727 check_doc_test(
728 "replace_if_let_with_match",
729 r#####"
730enum Action { Move { distance: u32 }, Stop }
731
732fn handle(action: Action) {
733 <|>if let Action::Move { distance } = action {
734 foo(distance)
735 } else {
736 bar()
737 }
738}
739"#####,
740 r#####"
741enum Action { Move { distance: u32 }, Stop }
742
743fn handle(action: Action) {
744 match action {
745 Action::Move { distance } => foo(distance),
746 _ => bar(),
747 }
748}
749"#####,
750 )
751}
752
753#[test]
754fn doctest_replace_let_with_if_let() {
755 check_doc_test(
756 "replace_let_with_if_let",
757 r#####"
758enum Option<T> { Some(T), None }
759
760fn main(action: Action) {
761 <|>let x = compute();
762}
763
764fn compute() -> Option<i32> { None }
765"#####,
766 r#####"
767enum Option<T> { Some(T), None }
768
769fn main(action: Action) {
770 if let Some(x) = compute() {
771 }
772}
773
774fn compute() -> Option<i32> { None }
775"#####,
776 )
777}
778
779#[test]
780fn doctest_replace_qualified_name_with_use() {
781 check_doc_test(
782 "replace_qualified_name_with_use",
783 r#####"
784fn process(map: std::collections::<|>HashMap<String, String>) {}
785"#####,
786 r#####"
787use std::collections::HashMap;
788
789fn process(map: HashMap<String, String>) {}
790"#####,
791 )
792}
793
794#[test]
795fn doctest_replace_unwrap_with_match() {
796 check_doc_test(
797 "replace_unwrap_with_match",
798 r#####"
799enum Result<T, E> { Ok(T), Err(E) }
800fn main() {
801 let x: Result<i32, i32> = Result::Ok(92);
802 let y = x.<|>unwrap();
803}
804"#####,
805 r#####"
806enum Result<T, E> { Ok(T), Err(E) }
807fn main() {
808 let x: Result<i32, i32> = Result::Ok(92);
809 let y = match x {
810 Ok(a) => a,
811 $0_ => unreachable!(),
812 };
813}
814"#####,
815 )
816}
817
818#[test]
819fn doctest_split_import() {
820 check_doc_test(
821 "split_import",
822 r#####"
823use std::<|>collections::HashMap;
824"#####,
825 r#####"
826use std::{collections::HashMap};
827"#####,
828 )
829}
830
831#[test]
832fn doctest_unwrap_block() {
833 check_doc_test(
834 "unwrap_block",
835 r#####"
836fn foo() {
837 if true {<|>
838 println!("foo");
839 }
840}
841"#####,
842 r#####"
843fn foo() {
844 println!("foo");
845}
846"#####,
847 )
848}