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 <florian.diebold@freiheit.com>
self.coerce_merge_branch(&ptr_ty1, &ptr_ty2)
} else {
mark::hit!(coerce_merge_fail_fallback);
- // For incompatible types, we use the latter one as result
- // to be better recovery for `if` without `else`.
- ty2.clone()
+ ty1.clone()
}
}
}
51..107 'if tru... }': ()
54..58 'true': bool
59..67 '{ }': ()
- 73..107 'if fal... }': ()
+ 73..107 'if fal... }': i32
76..81 'false': bool
82..107 '{ ... }': i32
92..95 'foo': Foo