pub(super) fn coerce_merge_branch(&mut self, ty1: &Ty, ty2: &Ty) -> Ty {
        if self.coerce(ty1, ty2) {
            ty2.clone()
        } else if self.coerce(ty2, ty1) {
            ty1.clone()
        } else {
            tested_by!(coerce_merge_fail_fallback);
            // For incompatible types, we use the latter one as result
            // to be better recovery for `if` without `else`.
            ty2.clone()
        }
    }
/// Merge two types from different branches, with possible implicit coerce.
///
/// Note that it is only possible that one type are coerced to another.
/// Coercing both types to another least upper bound type is not possible in rustc,
/// which will simply result in "incompatible types" error.
Merge two types from different branches, with possible implicit coerce.
Note that it is only possible that one type are coerced to another.
Coercing both types to another least upper bound type is not possible in rustc,
which will simply result in "incompatible types" error.
Merge two types from different branches with possible implicit coerce . Note that it is only possible that one type are coerced to another . Coercing both types to another least upper bound type is not possible in rustc which will simply result in " incompatible types " error .
pub(super) fn coerce_merge_branch(&mut self, ty1: &Ty, ty2: &Ty) -> Ty {
        if self.coerce(ty1, ty2) {
            ty2.clone()
        } else if self.coerce(ty2, ty1) {
            ty1.clone()
        } else {
            tested_by!(coerce_merge_fail_fallback);
            // For incompatible types, we use the latter one as result
            // to be better recovery for `if` without `else`.
            ty2.clone()
        }
    }
pub ( super ) fn coerce_merge_branch ( & mut self , ty1 : & Ty , ty2 : & Ty ) -> Ty { if self . coerce ( ty1 , ty2 ) { ty2 . clone ( ) } else if self . coerce ( ty2 , ty1 ) { ty1 . clone ( ) } else { tested_by ! ( coerce_merge_fail_fallback ) ; // For incompatible types, we use the latter one as result // to be better recovery for `if` without `else`. ty2 . clone ( ) } }
Merge two types from different branches, with possible implicit coerce.
Merge two types from different branches with possible implicit coerce .
&mut self
ty1
&Ty
ty2
&Ty
&mut self
ty1
&Ty
ty2
&Ty