diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-03-21 19:25:14 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-21 19:25:14 +0000 |
commit | 858ad554374a8b1ad67692558a0878391abfdd86 (patch) | |
tree | cae76f9d2a7ab4e10758ecf881e374f26f6bc803 /crates/hir_ty/src/tests | |
parent | 31ed1641615bd57d9f4897dbe93e97f185fc5273 (diff) | |
parent | af50e8d955caa0b689f3e5b02f0d8ff0302fd3e3 (diff) |
Merge #8137
8137: Fix box pattern inference panic r=flodiebold a=Veykril
Fixes #6560
Co-authored-by: Lukas Wirth <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/tests')
-rw-r--r-- | crates/hir_ty/src/tests/patterns.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/crates/hir_ty/src/tests/patterns.rs b/crates/hir_ty/src/tests/patterns.rs index 5da19ba5f..85a28e76b 100644 --- a/crates/hir_ty/src/tests/patterns.rs +++ b/crates/hir_ty/src/tests/patterns.rs | |||
@@ -658,6 +658,28 @@ fn slice_tail_pattern() { | |||
658 | fn box_pattern() { | 658 | fn box_pattern() { |
659 | check_infer( | 659 | check_infer( |
660 | r#" | 660 | r#" |
661 | pub struct Global; | ||
662 | #[lang = "owned_box"] | ||
663 | pub struct Box<T, A = Global>(T); | ||
664 | |||
665 | fn foo(params: Box<i32>) { | ||
666 | match params { | ||
667 | box integer => {} | ||
668 | } | ||
669 | } | ||
670 | "#, | ||
671 | expect![[r#" | ||
672 | 83..89 'params': Box<i32, Global> | ||
673 | 101..155 '{ ... } }': () | ||
674 | 107..153 'match ... }': () | ||
675 | 113..119 'params': Box<i32, Global> | ||
676 | 130..141 'box integer': Box<i32, Global> | ||
677 | 134..141 'integer': i32 | ||
678 | 145..147 '{}': () | ||
679 | "#]], | ||
680 | ); | ||
681 | check_infer( | ||
682 | r#" | ||
661 | #[lang = "owned_box"] | 683 | #[lang = "owned_box"] |
662 | pub struct Box<T>(T); | 684 | pub struct Box<T>(T); |
663 | 685 | ||