diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-05-29 22:07:43 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-05-29 22:07:43 +0100 |
commit | f7f01dd5f0a8254abeefb0156e2c4ebe1447bfb6 (patch) | |
tree | 1a5a9c99f95f623ccdd8fb12c40649477196e8f5 /crates/ra_hir_ty/src/infer | |
parent | 3689c8c3f67ed8ed63674ef50c6022fc91db2e13 (diff) | |
parent | 7d0586cb15000193941f93d4b5281e56ef751edd (diff) |
Merge #4651
4651: Use first match branch in case of type mismatch, not last r=kjeremy a=flodiebold
The comment says this was intentional, but I do agree with #4304 that it makes
more sense the other way around (for if/else as well).
Fixes #4304.
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_hir_ty/src/infer')
-rw-r--r-- | crates/ra_hir_ty/src/infer/coerce.rs | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/crates/ra_hir_ty/src/infer/coerce.rs b/crates/ra_hir_ty/src/infer/coerce.rs index 2ee9adb16..32c7c57cd 100644 --- a/crates/ra_hir_ty/src/infer/coerce.rs +++ b/crates/ra_hir_ty/src/infer/coerce.rs | |||
@@ -45,9 +45,7 @@ impl<'a> InferenceContext<'a> { | |||
45 | self.coerce_merge_branch(&ptr_ty1, &ptr_ty2) | 45 | self.coerce_merge_branch(&ptr_ty1, &ptr_ty2) |
46 | } else { | 46 | } else { |
47 | mark::hit!(coerce_merge_fail_fallback); | 47 | mark::hit!(coerce_merge_fail_fallback); |
48 | // For incompatible types, we use the latter one as result | 48 | ty1.clone() |
49 | // to be better recovery for `if` without `else`. | ||
50 | ty2.clone() | ||
51 | } | 49 | } |
52 | } | 50 | } |
53 | } | 51 | } |