diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-05-19 18:46:38 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-05-19 18:46:38 +0100 |
commit | c7196620abd5e9bab4fbd53388da361f0f6987a1 (patch) | |
tree | 3511921f52d08ea88da3d650cfb835dffef2c8de /crates/hir_ty/src/tests.rs | |
parent | 1cf0794f5eac5de7a3829fe93a1b99f4d22fd2f0 (diff) | |
parent | e2b1c69f7488b942360bb3c398a1c831510d1afc (diff) |
Merge #8875
8875: fix: false positive "Missing match arm" when an or-pattern has mismatched types r=flodiebold a=iDawer
![Screenshot_20210519_114510](https://user-images.githubusercontent.com/7803845/118768935-19e12c00-b86f-11eb-90c4-1eed3f2bf57f.jpg)
`InferenceResult` now records pattern type mismatches.
Co-authored-by: Dawer <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/tests.rs')
-rw-r--r-- | crates/hir_ty/src/tests.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/hir_ty/src/tests.rs b/crates/hir_ty/src/tests.rs index ccfb88c52..cc819373c 100644 --- a/crates/hir_ty/src/tests.rs +++ b/crates/hir_ty/src/tests.rs | |||
@@ -130,7 +130,10 @@ fn infer_with_mismatches(content: &str, include_mismatches: bool) -> String { | |||
130 | } | 130 | } |
131 | Err(SyntheticSyntax) => continue, | 131 | Err(SyntheticSyntax) => continue, |
132 | }; | 132 | }; |
133 | types.push((syntax_ptr, ty)); | 133 | types.push((syntax_ptr.clone(), ty)); |
134 | if let Some(mismatch) = inference_result.type_mismatch_for_pat(pat) { | ||
135 | mismatches.push((syntax_ptr, mismatch)); | ||
136 | } | ||
134 | } | 137 | } |
135 | 138 | ||
136 | for (expr, ty) in inference_result.type_of_expr.iter() { | 139 | for (expr, ty) in inference_result.type_of_expr.iter() { |