about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-04-11 06:11:31 -0700
committerbors <bors@rust-lang.org>2016-04-11 06:11:31 -0700
commitb622c3e0856767d8e53cf141e2e0a7b6d72a198b (patch)
tree79ead19d1628902fda873f75c0c3761a06305c0f
parent87e2eb14439792fb5afc909dba32b73b94855b97 (diff)
parent6dd809e79246150eb828106830a4c43eee38f994 (diff)
Auto merge of #32850 - jseyfried:add_tests, r=alexcrichton
resolve: Add regression tests for fixed issues

This adds regression tests for fixed issues in resolve (closes #22146, closes #24883, closes #26930).
r? @eddyb
-rw-r--r--src/test/compile-fail/extern-crate-visibility.rs9
-rw-r--r--src/test/compile-fail/issue-24883.rs28
-rw-r--r--src/test/compile-fail/issue-26930.rs20
3 files changed, 57 insertions, 0 deletions
diff --git a/src/test/compile-fail/extern-crate-visibility.rs b/src/test/compile-fail/extern-crate-visibility.rs
index 56a41a15ab3..86aae472148 100644
--- a/src/test/compile-fail/extern-crate-visibility.rs
+++ b/src/test/compile-fail/extern-crate-visibility.rs
@@ -30,5 +30,14 @@ fn f() {
     mod core {} // Check that private crates are not glob imported
 }
 
+mod bar {
+    pub extern crate core;
+}
+
+mod baz {
+    pub use bar::*;
+    use self::core::cell; // Check that public extern crates are glob imported
+}
+
 #[rustc_error]
 fn main() {} //~ ERROR compilation successful
diff --git a/src/test/compile-fail/issue-24883.rs b/src/test/compile-fail/issue-24883.rs
new file mode 100644
index 00000000000..097f2a5630c
--- /dev/null
+++ b/src/test/compile-fail/issue-24883.rs
@@ -0,0 +1,28 @@
+// 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.
+
+#![feature(rustc_attrs)]
+
+mod a {
+    pub mod b { pub struct Foo; }
+
+    pub mod c {
+        use super::b;
+        pub struct Bar(pub b::Foo);
+    }
+
+    pub use self::c::*;
+}
+
+#[rustc_error]
+fn main() {  //~ ERROR compilation successful
+    let _ = a::c::Bar(a::b::Foo);
+    let _ = a::Bar(a::b::Foo);
+}
diff --git a/src/test/compile-fail/issue-26930.rs b/src/test/compile-fail/issue-26930.rs
new file mode 100644
index 00000000000..6c98f3e8560
--- /dev/null
+++ b/src/test/compile-fail/issue-26930.rs
@@ -0,0 +1,20 @@
+// 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.
+
+#![feature(rustc_attrs)]
+#![allow(unused)]
+
+extern crate core;
+use core as core_export;
+use self::x::*;
+mod x {}
+
+#[rustc_error]
+fn main() {} //~ ERROR compilation successful