about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAndrew Cann <shum@canndrew.org>2017-02-03 21:12:03 +0800
committerAndrew Cann <shum@canndrew.org>2017-02-09 15:43:25 +0800
commitd87644cc0fb71cdfffc1619df25243d3f7640613 (patch)
tree3112a0463022b9ea7caec3ffdcc48702b93542e0 /src
parent29dece1c8bbebf7ae8034ef0826b119281730937 (diff)
downloadrust-d87644cc0fb71cdfffc1619df25243d3f7640613.tar.gz
rust-d87644cc0fb71cdfffc1619df25243d3f7640613.zip
Small inference fix
As per comment: https://github.com/rust-lang/rust/issues/39297#issuecomment-276810343
Diffstat (limited to 'src')
-rw-r--r--src/librustc_typeck/check/mod.rs11
-rw-r--r--src/test/compile-fail/issue-10176.rs19
-rw-r--r--src/test/compile-fail/issue-5500.rs17
3 files changed, 0 insertions, 47 deletions
diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs
index 8329d3eeed9..3ac0c9f0424 100644
--- a/src/librustc_typeck/check/mod.rs
+++ b/src/librustc_typeck/check/mod.rs
@@ -4156,17 +4156,6 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
         };
 
         if self.diverges.get().always() {
-            if let ExpectHasType(ety) = expected {
-                // Avoid forcing a type (only `!` for now) in unreachable code.
-                // FIXME(aburka) do we need this special case? and should it be is_uninhabited?
-                if !ety.is_never() {
-                    if let Some(ref e) = blk.expr {
-                        // Coerce the tail expression to the right type.
-                        self.demand_coerce(e, ty, ety);
-                    }
-                }
-            }
-
             ty = self.next_diverging_ty_var(TypeVariableOrigin::DivergingBlockExpr(blk.span));
         } else if let ExpectHasType(ety) = expected {
             if let Some(ref e) = blk.expr {
diff --git a/src/test/compile-fail/issue-10176.rs b/src/test/compile-fail/issue-10176.rs
deleted file mode 100644
index 434b795ff31..00000000000
--- a/src/test/compile-fail/issue-10176.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-fn f() -> isize {
-    (return 1, return 2)
-//~^ ERROR mismatched types
-//~| expected type `isize`
-//~| found type `(_, _)`
-//~| expected isize, found tuple
-}
-
-fn main() {}
diff --git a/src/test/compile-fail/issue-5500.rs b/src/test/compile-fail/issue-5500.rs
deleted file mode 100644
index 1cbb7588e17..00000000000
--- a/src/test/compile-fail/issue-5500.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-fn main() {
-    &panic!()
-    //~^ ERROR mismatched types
-    //~| expected type `()`
-    //~| found type `&_`
-    //~| expected (), found reference
-}