diff --git a/crates/ra_hir/src/marks.rs b/crates/ra_hir/src/marks.rs
index 1adf5cd5385..f450aef9fd0 100644
--- a/crates/ra_hir/src/marks.rs
+++ b/crates/ra_hir/src/marks.rs
@@ -11,7 +11,6 @@ test_utils::marks!(
     match_ergonomics_ref
     trait_resolution_on_fn_type
     infer_while_let
-    match_complex_arm_ty
     match_first_arm_never
     match_second_arm_never
     match_all_arms_never
diff --git a/crates/ra_hir/src/ty/infer.rs b/crates/ra_hir/src/ty/infer.rs
index d01063766e8..7b59ebfe732 100644
--- a/crates/ra_hir/src/ty/infer.rs
+++ b/crates/ra_hir/src/ty/infer.rs
@@ -1121,7 +1121,6 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> {
                     match_ty.clone()
                 } else {
                     tested_by!(match_no_never_arms);
-                    tested_by!(match_complex_arm_ty);
                     expected.ty
                 }
             }
diff --git a/crates/ra_hir/src/ty/tests.rs b/crates/ra_hir/src/ty/tests.rs
index 94b0fe3b3ae..195514f104b 100644
--- a/crates/ra_hir/src/ty/tests.rs
+++ b/crates/ra_hir/src/ty/tests.rs
@@ -3599,30 +3599,6 @@ mod branching_with_never_tests {
     use super::type_at;
     use test_utils::covers;
 
-    #[test]
-    fn match_complex_arm_ty() {
-        covers!(match_complex_arm_ty);
-        let t = type_at(
-            r#"
-//- /main.rs
-enum Option<T> {
-    Some(T),
-    None
-}
-
-fn test(a: i32) {
-    let i = match a {
-        2 => Option::Some(2.0),
-        _ => loop {},
-    };
-    i<|>
-    ()
-}
-"#,
-        );
-        assert_eq!(t, "Option<f64>");
-    }
-
     #[test]
     fn match_first_arm_never() {
         covers!(match_first_arm_never);