about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2017-03-18 12:28:34 -0400
committerNiko Matsakis <niko@alum.mit.edu>2017-03-22 11:13:09 -0400
commit0f1eb8a70f0f877eba4b55151949df8861377c65 (patch)
tree4423ed65cfcba243c240e641ca19b1605f45c860
parent89ddd717caf7084c9fe292ceaa46828c65573097 (diff)
add regression test for #39984
Fixes #39984
-rw-r--r--src/test/run-pass/issue-39984.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-39984.rs b/src/test/run-pass/issue-39984.rs
new file mode 100644
index 00000000000..a0019e7215c
--- /dev/null
+++ b/src/test/run-pass/issue-39984.rs
@@ -0,0 +1,21 @@
+// Copyright 2016 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.
+
+// Regression test for issue #39984.
+//
+// The key here is that the error type of the `Ok` call ought to be
+// constrained to `String`, even though it is dead-code.
+
+fn main() {}
+
+fn t() -> Result<(), String> {
+    return Err("".into());
+    Ok(())
+}