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 0000000000000..80f877f834d8b --- /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 0000000000000..c292f73bf0b23 --- /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 0000000000000..b9b87a941fd27 --- /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 +