about summary refs log tree commit diff
diff options
context:
space:
mode:
authorjmgrosen <jmgrosen@gmail.com>2013-09-03 16:11:00 -0700
committerjmgrosen <jmgrosen@gmail.com>2013-09-03 16:11:00 -0700
commit4a18d46130e13aad28fc072dafdd7e7b4baa8736 (patch)
tree55bf5d196fff7b938cfb7aa16374a897f8a3b653
parentfc9fa2cb6ca2b0979137134713fe3f693090a9d9 (diff)
downloadrust-4a18d46130e13aad28fc072dafdd7e7b4baa8736.tar.gz
rust-4a18d46130e13aad28fc072dafdd7e7b4baa8736.zip
Fixes #8881. condition! imports parent's pub identifiers
-rw-r--r--src/librustpkg/conditions.rs16
-rw-r--r--src/libstd/c_str.rs2
-rw-r--r--src/libstd/rt/io/mod.rs4
-rw-r--r--src/libsyntax/ext/expand.rs8
-rw-r--r--src/test/auxiliary/xc_conditions_4.rs3
5 files changed, 23 insertions, 10 deletions
diff --git a/src/librustpkg/conditions.rs b/src/librustpkg/conditions.rs
index 785c635e085..16ee9c1afb4 100644
--- a/src/librustpkg/conditions.rs
+++ b/src/librustpkg/conditions.rs
@@ -14,33 +14,33 @@ pub use std::path::Path;
 pub use package_id::PkgId;
 
 condition! {
-    bad_path: (super::Path, ~str) -> super::Path;
+    bad_path: (Path, ~str) -> Path;
 }
 
 condition! {
-    nonexistent_package: (super::PkgId, ~str) -> super::Path;
+    nonexistent_package: (PkgId, ~str) -> Path;
 }
 
 condition! {
-    copy_failed: (super::Path, super::Path) -> ();
+    copy_failed: (Path, Path) -> ();
 }
 
 condition! {
-    missing_pkg_files: (super::PkgId) -> ();
+    missing_pkg_files: (PkgId) -> ();
 }
 
 condition! {
-    bad_pkg_id: (super::Path, ~str) -> super::PkgId;
+    bad_pkg_id: (Path, ~str) -> PkgId;
 }
 
 condition! {
-    no_rust_path: (~str) -> super::Path;
+    no_rust_path: (~str) -> Path;
 }
 
 condition! {
-    not_a_workspace: (~str) -> super::Path;
+    not_a_workspace: (~str) -> Path;
 }
 
 condition! {
-    failed_to_create_temp_dir: (~str) -> super::Path;
+    failed_to_create_temp_dir: (~str) -> Path;
 }
diff --git a/src/libstd/c_str.rs b/src/libstd/c_str.rs
index 70b04e37ee1..8e7129578ee 100644
--- a/src/libstd/c_str.rs
+++ b/src/libstd/c_str.rs
@@ -29,6 +29,8 @@ pub enum NullByteResolution {
 
 condition! {
     // this should be &[u8] but there's a lifetime issue
+    // NOTE: this super::NullByteResolution should be NullByteResolution
+    // Change this next time the snapshot it updated.
     null_byte: (~[u8]) -> super::NullByteResolution;
 }
 
diff --git a/src/libstd/rt/io/mod.rs b/src/libstd/rt/io/mod.rs
index 116d240308a..a2002c989f0 100644
--- a/src/libstd/rt/io/mod.rs
+++ b/src/libstd/rt/io/mod.rs
@@ -385,6 +385,8 @@ impl ToStr for IoErrorKind {
 // Raised by `I/O` operations on error.
 condition! {
     // FIXME (#6009): uncomment `pub` after expansion support lands.
+    // NOTE: this super::IoError should be IoError
+    // Change this next time the snapshot it updated.
     /*pub*/ io_error: super::IoError -> ();
 }
 
@@ -392,6 +394,8 @@ condition! {
 // Raised by `read` on error
 condition! {
     // FIXME (#6009): uncomment `pub` after expansion support lands.
+    // NOTE: this super::IoError should be IoError
+    // Change this next time the snapshot it updated.
     /*pub*/ read_error: super::IoError -> ();
 }
 
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 0827a9fabee..f183067a9c1 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -889,7 +889,11 @@ pub fn std_macros() -> @str {
         { pub $c:ident: $input:ty -> $out:ty; } => {
 
             pub mod $c {
+                #[allow(unused_imports)];
                 #[allow(non_uppercase_statics)];
+
+                use super::*;
+
                 static key: ::std::local_data::Key<
                     @::std::condition::Handler<$input, $out>> =
                     &::std::local_data::Key;
@@ -907,7 +911,11 @@ pub fn std_macros() -> @str {
 
             // FIXME (#6009): remove mod's `pub` below once variant above lands.
             pub mod $c {
+                #[allow(unused_imports)];
                 #[allow(non_uppercase_statics)];
+
+                use super::*;
+
                 static key: ::std::local_data::Key<
                     @::std::condition::Handler<$input, $out>> =
                     &::std::local_data::Key;
diff --git a/src/test/auxiliary/xc_conditions_4.rs b/src/test/auxiliary/xc_conditions_4.rs
index c9b5a1dc2b8..e98e6929970 100644
--- a/src/test/auxiliary/xc_conditions_4.rs
+++ b/src/test/auxiliary/xc_conditions_4.rs
@@ -16,7 +16,7 @@ pub enum Color {
 }
 
 condition! {
-    pub oops: (int,float,~str) -> ::Color;
+    pub oops: (int,float,~str) -> Color;
 }
 
 pub trait Thunk<T> {
@@ -26,4 +26,3 @@ pub trait Thunk<T> {
 pub fn callback<T,TH:Thunk<T>>(t:TH) -> T {
     t.call()
 }
-