aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/tests/regression.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_ty/src/tests/regression.rs')
-rw-r--r--crates/ra_hir_ty/src/tests/regression.rs346
1 files changed, 173 insertions, 173 deletions
diff --git a/crates/ra_hir_ty/src/tests/regression.rs b/crates/ra_hir_ty/src/tests/regression.rs
index 4da2e972b..eedaa27ba 100644
--- a/crates/ra_hir_ty/src/tests/regression.rs
+++ b/crates/ra_hir_ty/src/tests/regression.rs
@@ -15,11 +15,11 @@ fn test() {
15} 15}
16"#), 16"#),
17 @r###" 17 @r###"
18 11..37 '{ l... {}; }': () 18 10..36 '{ l... {}; }': ()
19 20..21 'x': () 19 19..20 'x': ()
20 24..34 'if true {}': () 20 23..33 'if true {}': ()
21 27..31 'true': bool 21 26..30 'true': bool
22 32..34 '{}': () 22 31..33 '{}': ()
23 "### 23 "###
24 ); 24 );
25} 25}
@@ -35,10 +35,10 @@ fn test(x: X) {
35} 35}
36"#), 36"#),
37 @r###" 37 @r###"
38 20..21 'x': X 38 19..20 'x': X
39 26..47 '{ ...eld; }': () 39 25..46 '{ ...eld; }': ()
40 32..33 'x': X 40 31..32 'x': X
41 32..44 'x.some_field': {unknown} 41 31..43 'x.some_field': {unknown}
42 "### 42 "###
43 ); 43 );
44} 44}
@@ -56,14 +56,14 @@ fn test() {
56} 56}
57"#), 57"#),
58 @r###" 58 @r###"
59 11..89 '{ ... } }': () 59 10..88 '{ ... } }': ()
60 17..21 'X {}': {unknown} 60 16..20 'X {}': {unknown}
61 27..87 'match ... }': () 61 26..86 'match ... }': ()
62 33..34 'x': {unknown} 62 32..33 'x': {unknown}
63 45..52 'A::B {}': {unknown} 63 44..51 'A::B {}': {unknown}
64 56..58 '()': () 64 55..57 '()': ()
65 68..74 'A::Y()': {unknown} 65 67..73 'A::Y()': {unknown}
66 78..80 '()': () 66 77..79 '()': ()
67 "### 67 "###
68 ); 68 );
69} 69}
@@ -78,12 +78,12 @@ fn quux() {
78} 78}
79"#), 79"#),
80 @r###" 80 @r###"
81 11..41 '{ ...+ y; }': () 81 10..40 '{ ...+ y; }': ()
82 21..22 'y': i32 82 20..21 'y': i32
83 25..27 '92': i32 83 24..26 '92': i32
84 33..34 '1': i32 84 32..33 '1': i32
85 33..38 '1 + y': i32 85 32..37 '1 + y': i32
86 37..38 'y': i32 86 36..37 'y': i32
87 "### 87 "###
88 ); 88 );
89} 89}
@@ -100,13 +100,13 @@ fn test() {
100} 100}
101"#), 101"#),
102 @r###" 102 @r###"
103 11..48 '{ ...&y]; }': () 103 10..47 '{ ...&y]; }': ()
104 21..22 'y': &{unknown} 104 20..21 'y': &{unknown}
105 25..32 'unknown': &{unknown} 105 24..31 'unknown': &{unknown}
106 38..45 '[y, &y]': [&&{unknown}; _] 106 37..44 '[y, &y]': [&&{unknown}; _]
107 39..40 'y': &{unknown} 107 38..39 'y': &{unknown}
108 42..44 '&y': &&{unknown} 108 41..43 '&y': &&{unknown}
109 43..44 'y': &{unknown} 109 42..43 'y': &{unknown}
110 "### 110 "###
111 ); 111 );
112} 112}
@@ -122,20 +122,20 @@ fn test() {
122} 122}
123"#), 123"#),
124 @r###" 124 @r###"
125 11..80 '{ ...x)]; }': () 125 10..79 '{ ...x)]; }': ()
126 21..22 'x': &&{unknown} 126 20..21 'x': &&{unknown}
127 25..32 'unknown': &&{unknown} 127 24..31 'unknown': &&{unknown}
128 42..43 'y': &&{unknown} 128 41..42 'y': &&{unknown}
129 46..53 'unknown': &&{unknown} 129 45..52 'unknown': &&{unknown}
130 59..77 '[(x, y..., &x)]': [(&&&{unknown}, &&&{unknown}); _] 130 58..76 '[(x, y..., &x)]': [(&&&{unknown}, &&&{unknown}); _]
131 60..66 '(x, y)': (&&&{unknown}, &&&{unknown}) 131 59..65 '(x, y)': (&&&{unknown}, &&&{unknown})
132 61..62 'x': &&{unknown} 132 60..61 'x': &&{unknown}
133 64..65 'y': &&{unknown} 133 63..64 'y': &&{unknown}
134 68..76 '(&y, &x)': (&&&{unknown}, &&&{unknown}) 134 67..75 '(&y, &x)': (&&&{unknown}, &&&{unknown})
135 69..71 '&y': &&&{unknown} 135 68..70 '&y': &&&{unknown}
136 70..71 'y': &&{unknown} 136 69..70 'y': &&{unknown}
137 73..75 '&x': &&&{unknown} 137 72..74 '&x': &&&{unknown}
138 74..75 'x': &&{unknown} 138 73..74 'x': &&{unknown}
139 "### 139 "###
140 ); 140 );
141} 141}
@@ -157,12 +157,12 @@ fn write() {
157} 157}
158"#), 158"#),
159 @r###" 159 @r###"
160 54..139 '{ ... } }': () 160 53..138 '{ ... } }': ()
161 60..137 'match ... }': () 161 59..136 'match ... }': ()
162 66..83 'someth...nknown': Maybe<{unknown}> 162 65..82 'someth...nknown': Maybe<{unknown}>
163 94..124 'Maybe:...thing)': Maybe<{unknown}> 163 93..123 'Maybe:...thing)': Maybe<{unknown}>
164 106..123 'ref mu...ething': &mut {unknown} 164 105..122 'ref mu...ething': &mut {unknown}
165 128..130 '()': () 165 127..129 '()': ()
166 "### 166 "###
167 ); 167 );
168} 168}
@@ -178,13 +178,13 @@ fn test_line_buffer() {
178} 178}
179"#), 179"#),
180 @r###" 180 @r###"
181 23..53 '{ ...n']; }': () 181 22..52 '{ ...n']; }': ()
182 29..50 '&[0, b...b'\n']': &[u8; _] 182 28..49 '&[0, b...b'\n']': &[u8; _]
183 30..50 '[0, b'...b'\n']': [u8; _] 183 29..49 '[0, b'...b'\n']': [u8; _]
184 31..32 '0': u8 184 30..31 '0': u8
185 34..39 'b'\n'': u8 185 33..38 'b'\n'': u8
186 41..42 '1': u8 186 40..41 '1': u8
187 44..49 'b'\n'': u8 187 43..48 'b'\n'': u8
188 "### 188 "###
189 ); 189 );
190} 190}
@@ -201,14 +201,14 @@ pub fn compute() {
201} 201}
202"#), 202"#),
203 @r###" 203 @r###"
204 18..108 '{ ... } }': () 204 17..107 '{ ... } }': ()
205 24..106 'match ... }': () 205 23..105 'match ... }': ()
206 30..37 'nope!()': {unknown} 206 29..36 'nope!()': {unknown}
207 48..94 'SizeSk...tail }': {unknown} 207 47..93 'SizeSk...tail }': {unknown}
208 82..86 'true': bool 208 81..85 'true': bool
209 82..86 'true': bool 209 81..85 'true': bool
210 88..92 'tail': {unknown} 210 87..91 'tail': {unknown}
211 98..100 '{}': () 211 97..99 '{}': ()
212 "### 212 "###
213 ); 213 );
214} 214}
@@ -225,14 +225,14 @@ pub fn primitive_type() {
225} 225}
226"#), 226"#),
227 @r###" 227 @r###"
228 25..106 '{ ... } }': () 228 24..105 '{ ... } }': ()
229 31..104 'match ... }': () 229 30..103 'match ... }': ()
230 37..42 '*self': {unknown} 230 36..41 '*self': {unknown}
231 38..42 'self': {unknown} 231 37..41 'self': {unknown}
232 53..91 'Borrow...), ..}': {unknown} 232 52..90 'Borrow...), ..}': {unknown}
233 74..86 'Primitive(p)': {unknown} 233 73..85 'Primitive(p)': {unknown}
234 84..85 'p': {unknown} 234 83..84 'p': {unknown}
235 95..97 '{}': () 235 94..96 '{}': ()
236 "### 236 "###
237 ); 237 );
238} 238}
@@ -259,29 +259,29 @@ fn extra_compiler_flags() {
259} 259}
260"#), 260"#),
261 @r###" 261 @r###"
262 27..323 '{ ... } }': () 262 26..322 '{ ... } }': ()
263 33..321 'for co... }': () 263 32..320 'for co... }': ()
264 37..44 'content': &{unknown} 264 36..43 'content': &{unknown}
265 48..61 'doesnt_matter': {unknown} 265 47..60 'doesnt_matter': {unknown}
266 62..321 '{ ... }': () 266 61..320 '{ ... }': ()
267 76..80 'name': &&{unknown} 267 75..79 'name': &&{unknown}
268 83..167 'if doe... }': &&{unknown} 268 82..166 'if doe... }': &&{unknown}
269 86..99 'doesnt_matter': bool 269 85..98 'doesnt_matter': bool
270 100..129 '{ ... }': &&{unknown} 270 99..128 '{ ... }': &&{unknown}
271 114..119 'first': &&{unknown} 271 113..118 'first': &&{unknown}
272 135..167 '{ ... }': &&{unknown} 272 134..166 '{ ... }': &&{unknown}
273 149..157 '&content': &&{unknown} 273 148..156 '&content': &&{unknown}
274 150..157 'content': &{unknown} 274 149..156 'content': &{unknown}
275 182..189 'content': &{unknown} 275 181..188 'content': &{unknown}
276 192..314 'if ICE... }': &{unknown} 276 191..313 'if ICE... }': &{unknown}
277 195..232 'ICE_RE..._VALUE': {unknown} 277 194..231 'ICE_RE..._VALUE': {unknown}
278 195..248 'ICE_RE...&name)': bool 278 194..247 'ICE_RE...&name)': bool
279 242..247 '&name': &&&{unknown} 279 241..246 '&name': &&&{unknown}
280 243..247 'name': &&{unknown} 280 242..246 'name': &&{unknown}
281 249..277 '{ ... }': &&{unknown} 281 248..276 '{ ... }': &&{unknown}
282 263..267 'name': &&{unknown} 282 262..266 'name': &&{unknown}
283 283..314 '{ ... }': &{unknown} 283 282..313 '{ ... }': &{unknown}
284 297..304 'content': &{unknown} 284 296..303 'content': &{unknown}
285 "### 285 "###
286 ); 286 );
287} 287}
@@ -302,11 +302,11 @@ fn test<R>(query_response: Canonical<QueryResponse<R>>) {
302} 302}
303"#), 303"#),
304 @r###" 304 @r###"
305 92..106 'query_response': Canonical<QueryResponse<R>> 305 91..105 'query_response': Canonical<QueryResponse<R>>
306 137..167 '{ ...lue; }': () 306 136..166 '{ ...lue; }': ()
307 143..164 '&query....value': &QueryResponse<R> 307 142..163 '&query....value': &QueryResponse<R>
308 144..158 'query_response': Canonical<QueryResponse<R>> 308 143..157 'query_response': Canonical<QueryResponse<R>>
309 144..164 'query_....value': QueryResponse<R> 309 143..163 'query_....value': QueryResponse<R>
310 "### 310 "###
311 ); 311 );
312} 312}
@@ -322,9 +322,9 @@ fn test() {
322"#), 322"#),
323 @r###" 323 @r###"
324 !0..4 '0u32': u32 324 !0..4 '0u32': u32
325 45..70 '{ ...()); }': () 325 44..69 '{ ...()); }': ()
326 55..56 'a': u32 326 54..55 'a': u32
327 "### 327 "###
328 ); 328 );
329} 329}
330 330
@@ -344,10 +344,10 @@ pub fn main_loop() {
344} 344}
345"#), 345"#),
346 @r###" 346 @r###"
347 144..146 '{}': () 347 143..145 '{}': ()
348 169..198 '{ ...t(); }': () 348 168..197 '{ ...t(); }': ()
349 175..193 'FxHash...efault': fn default<{unknown}, FxHasher>() -> HashSet<{unknown}, FxHasher> 349 174..192 'FxHash...efault': fn default<{unknown}, FxHasher>() -> HashSet<{unknown}, FxHasher>
350 175..195 'FxHash...ault()': HashSet<{unknown}, FxHasher> 350 174..194 'FxHash...ault()': HashSet<{unknown}, FxHasher>
351 "### 351 "###
352 ); 352 );
353} 353}
@@ -395,9 +395,9 @@ fn test() {
395} 395}
396"#), 396"#),
397 @r###" 397 @r###"
398 26..53 '{ ...oo() }': () 398 25..52 '{ ...oo() }': ()
399 32..49 '<Trait...>::foo': {unknown} 399 31..48 '<Trait...>::foo': {unknown}
400 32..51 '<Trait...:foo()': () 400 31..50 '<Trait...:foo()': ()
401 "### 401 "###
402 ); 402 );
403} 403}
@@ -495,13 +495,13 @@ fn foo(params: &[usize]) {
495} 495}
496"#), 496"#),
497 @r###" 497 @r###"
498 8..14 'params': &[usize] 498 7..13 'params': &[usize]
499 26..81 '{ ... } }': () 499 25..80 '{ ... } }': ()
500 32..79 'match ... }': () 500 31..78 'match ... }': ()
501 38..44 'params': &[usize] 501 37..43 'params': &[usize]
502 55..67 '[ps @ .., _]': [usize] 502 54..66 '[ps @ .., _]': [usize]
503 65..66 '_': usize 503 64..65 '_': usize
504 71..73 '{}': () 504 70..72 '{}': ()
505 "### 505 "###
506 ); 506 );
507} 507}
@@ -522,13 +522,13 @@ fn foo(b: Bar) {
522} 522}
523"#), 523"#),
524 @r###" 524 @r###"
525 36..37 'b': Bar 525 35..36 'b': Bar
526 44..96 '{ ... } }': () 526 43..95 '{ ... } }': ()
527 50..94 'match ... }': () 527 49..93 'match ... }': ()
528 56..57 'b': Bar 528 55..56 'b': Bar
529 68..81 'Bar { a: .. }': Bar 529 67..80 'Bar { a: .. }': Bar
530 77..79 '..': bool 530 76..78 '..': bool
531 85..87 '{}': () 531 84..86 '{}': ()
532 "### 532 "###
533 ); 533 );
534} 534}
@@ -549,16 +549,16 @@ fn main() {
549 a.foo(); 549 a.foo();
550} 550}
551"#), @r###" 551"#), @r###"
552 32..38 'FOO {}': FOO 552 31..37 'FOO {}': FOO
553 64..68 'self': &FOO 553 63..67 'self': &FOO
554 70..72 '{}': () 554 69..71 '{}': ()
555 86..120 '{ ...o(); }': () 555 85..119 '{ ...o(); }': ()
556 96..97 'a': &FOO 556 95..96 'a': &FOO
557 100..104 '&FOO': &FOO 557 99..103 '&FOO': &FOO
558 101..104 'FOO': FOO 558 100..103 'FOO': FOO
559 110..111 'a': &FOO 559 109..110 'a': &FOO
560 110..117 'a.foo()': () 560 109..116 'a.foo()': ()
561"### 561 "###
562 ); 562 );
563} 563}
564 564
@@ -580,17 +580,17 @@ fn main() {
580 let _a = foo!(); 580 let _a = foo!();
581} 581}
582"#), @r###" 582"#), @r###"
583 45..60 '{ loop {} }': T 583 44..59 '{ loop {} }': T
584 51..58 'loop {}': ! 584 50..57 'loop {}': !
585 56..58 '{}': () 585 55..57 '{}': ()
586 !0..31 '{letr:...g();r}': Foo 586 !0..31 '{letr:...g();r}': Foo
587 !4..5 'r': Foo 587 !4..5 'r': Foo
588 !18..26 'anything': fn anything<Foo>() -> Foo 588 !18..26 'anything': fn anything<Foo>() -> Foo
589 !18..28 'anything()': Foo 589 !18..28 'anything()': Foo
590 !29..30 'r': Foo 590 !29..30 'r': Foo
591 164..188 '{ ...!(); }': () 591 163..187 '{ ...!(); }': ()
592 174..176 '_a': Foo 592 173..175 '_a': Foo
593"###); 593 "###);
594} 594}
595 595
596#[test] 596#[test]
@@ -623,13 +623,13 @@ where
623} 623}
624"#), 624"#),
625 @r###" 625 @r###"
626 66..70 'self': Self 626 65..69 'self': Self
627 268..272 'self': Self 627 267..271 'self': Self
628 467..471 'self': SelectStatement<F, S, D, W, O, LOf, {unknown}, {unknown}> 628 466..470 'self': SelectStatement<F, S, D, W, O, LOf, {unknown}, {unknown}>
629 489..523 '{ ... }': () 629 488..522 '{ ... }': ()
630 499..503 'self': SelectStatement<F, S, D, W, O, LOf, {unknown}, {unknown}> 630 498..502 'self': SelectStatement<F, S, D, W, O, LOf, {unknown}, {unknown}>
631 499..509 'self.order': O 631 498..508 'self.order': O
632 499..516 'self.o...into()': dyn QueryFragment<DB> 632 498..515 'self.o...into()': dyn QueryFragment<DB>
633 "### 633 "###
634 ); 634 );
635} 635}
@@ -644,10 +644,10 @@ impl Foo {
644} 644}
645"#), 645"#),
646 @r###" 646 @r###"
647 59..73 '{ Self(0i64) }': Foo 647 58..72 '{ Self(0i64) }': Foo
648 61..65 'Self': Foo(i64) -> Foo 648 60..64 'Self': Foo(i64) -> Foo
649 61..71 'Self(0i64)': Foo 649 60..70 'Self(0i64)': Foo
650 66..70 '0i64': i64 650 65..69 '0i64': i64
651 "### 651 "###
652 ); 652 );
653 assert_snapshot!( 653 assert_snapshot!(
@@ -658,10 +658,10 @@ impl Foo<i64> {
658} 658}
659"#), 659"#),
660 @r###" 660 @r###"
661 65..79 '{ Self(0i64) }': Foo<i64> 661 64..78 '{ Self(0i64) }': Foo<i64>
662 67..71 'Self': Foo<i64>(i64) -> Foo<i64> 662 66..70 'Self': Foo<i64>(i64) -> Foo<i64>
663 67..77 'Self(0i64)': Foo<i64> 663 66..76 'Self(0i64)': Foo<i64>
664 72..76 '0i64': i64 664 71..75 '0i64': i64
665 "### 665 "###
666 ); 666 );
667} 667}
@@ -685,11 +685,11 @@ fn check<T: PrimInt>(i: T) {
685} 685}
686"#), 686"#),
687 @r###" 687 @r###"
688 118..122 'self': Self 688 117..121 'self': Self
689 149..150 'i': T 689 148..149 'i': T
690 155..171 '{ ...w(); }': () 690 154..170 '{ ...w(); }': ()
691 161..162 'i': T 691 160..161 'i': T
692 161..168 'i.pow()': () 692 160..167 'i.pow()': ()
693 "### 693 "###
694 ); 694 );
695} 695}
@@ -720,13 +720,13 @@ where
720} 720}
721"#), 721"#),
722 @r###" 722 @r###"
723 137..140 'key': &K 723 136..139 'key': &K
724 199..215 '{ ...key) }': impl Future<Output = <K as Foo<R>>::Bar> 724 198..214 '{ ...key) }': impl Future<Output = <K as Foo<R>>::Bar>
725 205..208 'bar': fn bar<R, K>(&K) -> impl Future<Output = <K as Foo<R>>::Bar> 725 204..207 'bar': fn bar<R, K>(&K) -> impl Future<Output = <K as Foo<R>>::Bar>
726 205..213 'bar(key)': impl Future<Output = <K as Foo<R>>::Bar> 726 204..212 'bar(key)': impl Future<Output = <K as Foo<R>>::Bar>
727 209..212 'key': &K 727 208..211 'key': &K
728 229..232 'key': &K 728 228..231 'key': &K
729 291..294 '{ }': () 729 290..293 '{ }': ()
730 "### 730 "###
731 ); 731 );
732} 732}
@@ -776,11 +776,11 @@ pub trait Service<Request> {
776} 776}
777"#), 777"#),
778 @r###" 778 @r###"
779 380..384 'self': &mut PeerSet<D> 779 379..383 'self': &mut PeerSet<D>
780 402..425 '{ ... }': dyn Future<Output = ()> 780 401..424 '{ ... }': dyn Future<Output = ()>
781 412..419 'loop {}': ! 781 411..418 'loop {}': !
782 417..419 '{}': () 782 416..418 '{}': ()
783 576..580 'self': &mut Self 783 575..579 'self': &mut Self
784 "### 784 "###
785 ); 785 );
786} 786}