From 35bcd9913ed89275d86b25058b11b400702fc201 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Tue, 12 Dec 2017 23:18:53 -0600 Subject: [PATCH] Regression test for issue #46112. --- .../xcrate_issue_46112_rexport_core.rs | 13 ++++++++++++ src/test/ui/issue-46112.rs | 20 +++++++++++++++++++ src/test/ui/issue-46112.stderr | 14 +++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 src/test/ui/auxiliary/xcrate_issue_46112_rexport_core.rs create mode 100644 src/test/ui/issue-46112.rs create mode 100644 src/test/ui/issue-46112.stderr 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 or the MIT license +// , 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 or the MIT license +// , 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, &'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 +