about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2017-12-12 23:18:53 -0600
committerFelix S. Klock II <pnkfelix@pnkfx.org>2017-12-12 23:18:53 -0600
commit35bcd9913ed89275d86b25058b11b400702fc201 (patch)
tree566f42dc2d3db9571b85587d018e203d73eadea2 /src
parent43406d26812bc41a19f6412350dcfe6574556b48 (diff)
downloadrust-35bcd9913ed89275d86b25058b11b400702fc201.tar.gz
rust-35bcd9913ed89275d86b25058b11b400702fc201.zip
Regression test for issue #46112.
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/auxiliary/xcrate_issue_46112_rexport_core.rs13
-rw-r--r--src/test/ui/issue-46112.rs20
-rw-r--r--src/test/ui/issue-46112.stderr14
3 files changed, 47 insertions, 0 deletions
diff --git a/src/test/ui/auxiliary/xcrate_issue_46112_rexport_core.rs b/src/test/ui/auxiliary/xcrate_issue_46112_rexport_core.rs
new file mode 100644
index 00000000000..80f877f834d
--- /dev/null
+++ b/src/test/ui/auxiliary/xcrate_issue_46112_rexport_core.rs
@@ -0,0 +1,13 @@
+// Copyright 2017 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.
+
+#![crate_type="lib"]
+
+pub extern crate core;
diff --git a/src/test/ui/issue-46112.rs b/src/test/ui/issue-46112.rs
new file mode 100644
index 00000000000..c292f73bf0b
--- /dev/null
+++ b/src/test/ui/issue-46112.rs
@@ -0,0 +1,20 @@
+// Copyright 2017 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.
+
+// Issue 46112: An extern crate pub reexporting libcore was causing
+// paths rooted from `std` to be misrendered in the diagnostic output.
+
+// ignore-windows
+// aux-build:xcrate_issue_46112_rexport_core.rs
+
+extern crate xcrate_issue_46112_rexport_core;
+fn test(r: Result<Option<()>, &'static str>) { }
+fn main() { test(Ok(())); }
+//~^ mismatched types
diff --git a/src/test/ui/issue-46112.stderr b/src/test/ui/issue-46112.stderr
new file mode 100644
index 00000000000..b9b87a941fd
--- /dev/null
+++ b/src/test/ui/issue-46112.stderr
@@ -0,0 +1,14 @@
+error[E0308]: mismatched types
+  --> $DIR/issue-46112.rs:19:21
+   |
+19 | fn main() { test(Ok(())); }
+   |                     ^^
+   |                     |
+   |                     expected enum `std::option::Option`, found ()
+   |                     help: try using a variant of the expected type: `Some(())`
+   |
+   = note: expected type `std::option::Option<()>`
+              found type `()`
+
+error: aborting due to previous error
+