about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-01-30 15:56:40 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-01-30 15:56:40 -0800
commit592c2e1db4cb4a50aa2b5e0b7cf6b03eca33d698 (patch)
tree1f6c8776c84c0b8698be31c2c2542cf4565a65cd
parent2a65842c3ab133d2e0e5f2f333be42f5d7cf6f9e (diff)
downloadrust-592c2e1db4cb4a50aa2b5e0b7cf6b03eca33d698.tar.gz
rust-592c2e1db4cb4a50aa2b5e0b7cf6b03eca33d698.zip
test: Remove export from the tests, language, and libraries. rs=deexporting
-rw-r--r--src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs6
-rw-r--r--src/test/run-pass/alt-path.rs3
-rw-r--r--src/test/run-pass/attr-before-view-item2.rs5
-rw-r--r--src/test/run-pass/binops.rs5
-rw-r--r--src/test/run-pass/c-stack-as-value.rs3
-rw-r--r--src/test/run-pass/c-stack-returning-int64.rs5
-rw-r--r--src/test/run-pass/cci_borrow.rs4
-rw-r--r--src/test/run-pass/cci_capture_clause.rs4
-rw-r--r--src/test/run-pass/cci_nested_exe.rs5
-rw-r--r--src/test/run-pass/cci_no_inline_exe.rs4
-rw-r--r--src/test/run-pass/class-exports.rs19
-rw-r--r--src/test/run-pass/conditional-compile.rs27
-rw-r--r--src/test/run-pass/crateresolve2.rs9
-rw-r--r--src/test/run-pass/crateresolve3.rs6
-rw-r--r--src/test/run-pass/crateresolve4.rs14
-rw-r--r--src/test/run-pass/export-abstract-tag.rs8
-rw-r--r--src/test/run-pass/export-glob-imports-target.rs8
-rw-r--r--src/test/run-pass/export-glob.rs29
-rw-r--r--src/test/run-pass/export-multi.rs7
-rw-r--r--src/test/run-pass/export-non-interference.rs5
-rw-r--r--src/test/run-pass/export-tag-variant.rs6
-rw-r--r--src/test/run-pass/export-unexported-dep.rs8
-rw-r--r--src/test/run-pass/expr-scope.rs4
-rw-r--r--src/test/run-pass/extern-call-deep.rs5
-rw-r--r--src/test/run-pass/extern-call-deep2.rs5
-rw-r--r--src/test/run-pass/extern-call-scrub.rs5
-rw-r--r--src/test/run-pass/extern-call.rs5
-rw-r--r--src/test/run-pass/extern-stress.rs5
-rw-r--r--src/test/run-pass/extern-yield.rs5
-rw-r--r--src/test/run-pass/foreign-dupe.rs6
-rw-r--r--src/test/run-pass/foreign-fn-linkname.rs3
-rw-r--r--src/test/run-pass/foreign-lib-path.rs5
-rw-r--r--src/test/run-pass/foreign-mod-unused-const.rs3
-rw-r--r--src/test/run-pass/foreign-no-abi.rs3
-rw-r--r--src/test/run-pass/foreign-struct.rs3
-rw-r--r--src/test/run-pass/foreign2.rs14
-rw-r--r--src/test/run-pass/generic-fn-twice.rs3
-rw-r--r--src/test/run-pass/global-scope.rs11
-rw-r--r--src/test/run-pass/import-from-foreign.rs10
-rw-r--r--src/test/run-pass/import-from.rs5
-rw-r--r--src/test/run-pass/import-glob-0.rs30
-rw-r--r--src/test/run-pass/import-glob-1.rs60
-rw-r--r--src/test/run-pass/import-trailing-comma.rs8
-rw-r--r--src/test/run-pass/import.rs6
-rw-r--r--src/test/run-pass/import2.rs3
-rw-r--r--src/test/run-pass/import3.rs6
-rw-r--r--src/test/run-pass/import4.rs3
-rw-r--r--src/test/run-pass/import5.rs10
-rw-r--r--src/test/run-pass/import6.rs10
-rw-r--r--src/test/run-pass/import7.rs16
-rw-r--r--src/test/run-pass/import8.rs3
-rw-r--r--src/test/run-pass/inner-module.rs8
-rw-r--r--src/test/run-pass/intrinsic-alignment.rs5
-rw-r--r--src/test/run-pass/intrinsic-atomics.rs27
-rw-r--r--src/test/run-pass/intrinsic-frame-address.rs3
-rw-r--r--src/test/run-pass/issue-1251.rs3
-rw-r--r--src/test/run-pass/issue-1866.rs16
-rw-r--r--src/test/run-pass/issue-2904.rs5
-rw-r--r--src/test/run-pass/item-attributes.rs69
-rw-r--r--src/test/run-pass/item-name-overload.rs6
-rw-r--r--src/test/run-pass/keyword-changes-2012-07-31.rs3
-rw-r--r--src/test/run-pass/mod-inside-fn.rs5
-rw-r--r--src/test/run-pass/mod-view-items.rs3
-rw-r--r--src/test/run-pass/morestack-address.rs3
-rw-r--r--src/test/run-pass/morestack6.rs15
-rw-r--r--src/test/run-pass/nil-decl-in-foreign.rs5
-rw-r--r--src/test/run-pass/path.rs3
-rw-r--r--src/test/run-pass/rec-align-u32.rs15
-rw-r--r--src/test/run-pass/rec-align-u64.rs26
-rw-r--r--src/test/run-pass/rt-sched-1.rs9
-rw-r--r--src/test/run-pass/self-shadowing-import.rs12
-rw-r--r--src/test/run-pass/static-method-xcrate.rs1
-rw-r--r--src/test/run-pass/struct-return.rs5
-rw-r--r--src/test/run-pass/syntax-extension-source-utils.rs11
-rw-r--r--src/test/run-pass/tag-exports.rs19
-rw-r--r--src/test/run-pass/type-in-nested-module.rs8
-rw-r--r--src/test/run-pass/use-import-export.rs6
-rw-r--r--src/test/run-pass/use-mod.rs6
-rw-r--r--src/test/run-pass/use.rs5
-rw-r--r--src/test/run-pass/warn-ctypes-inhibit.rs5
-rw-r--r--src/test/run-pass/x86stdcall2.rs8
81 files changed, 232 insertions, 528 deletions
diff --git a/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs b/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
index 1a27bce1e02..847b6d5b2bb 100644
--- a/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
+++ b/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
@@ -10,9 +10,9 @@
 
 #[link(name = "crate_method_reexport_grrrrrrr2")];
 
-use name_pool::add;
+pub use name_pool::add;
 
-mod name_pool {
+pub mod name_pool {
     pub type name_pool = ();
 
     pub trait add {
@@ -26,7 +26,7 @@ mod name_pool {
 }
 
 pub mod rust {
-    use name_pool::add;
+    pub use name_pool::add;
 
     pub type rt = @();
 
diff --git a/src/test/run-pass/alt-path.rs b/src/test/run-pass/alt-path.rs
index d84f96b8f3f..0d00dec6760 100644
--- a/src/test/run-pass/alt-path.rs
+++ b/src/test/run-pass/alt-path.rs
@@ -11,8 +11,7 @@
 
 
 mod m1 {
-    #[legacy_exports];
-    enum foo { foo1, foo2, }
+    pub enum foo { foo1, foo2, }
 }
 
 fn bar(x: m1::foo) { match x { m1::foo1 => { } m1::foo2 => { } } }
diff --git a/src/test/run-pass/attr-before-view-item2.rs b/src/test/run-pass/attr-before-view-item2.rs
index 2e5a07d62bd..072a0ebb0a7 100644
--- a/src/test/run-pass/attr-before-view-item2.rs
+++ b/src/test/run-pass/attr-before-view-item2.rs
@@ -11,9 +11,8 @@
 // error-pattern:expected item
 
 mod m {
-    #[legacy_exports];
-  #[foo = "bar"]
-  extern mod std;
+    #[foo = "bar"]
+    extern mod std;
 }
 
 fn main() {
diff --git a/src/test/run-pass/binops.rs b/src/test/run-pass/binops.rs
index 4f58e41766b..04dc555e404 100644
--- a/src/test/run-pass/binops.rs
+++ b/src/test/run-pass/binops.rs
@@ -82,9 +82,8 @@ fn test_ptr() {
 #[abi = "cdecl"]
 #[nolink]
 extern mod test {
-    #[legacy_exports];
-    fn rust_get_sched_id() -> libc::intptr_t;
-    fn get_task_id() -> libc::intptr_t;
+    pub fn rust_get_sched_id() -> libc::intptr_t;
+    pub fn get_task_id() -> libc::intptr_t;
 }
 
 struct p {
diff --git a/src/test/run-pass/c-stack-as-value.rs b/src/test/run-pass/c-stack-as-value.rs
index b54335599a4..5d435fa646a 100644
--- a/src/test/run-pass/c-stack-as-value.rs
+++ b/src/test/run-pass/c-stack-as-value.rs
@@ -10,8 +10,7 @@
 
 #[abi = "cdecl"]
 extern mod rustrt {
-    #[legacy_exports];
-    fn get_task_id() -> libc::intptr_t;
+    pub fn get_task_id() -> libc::intptr_t;
 }
 
 fn main() {
diff --git a/src/test/run-pass/c-stack-returning-int64.rs b/src/test/run-pass/c-stack-returning-int64.rs
index a0377a51354..aec0054a3c3 100644
--- a/src/test/run-pass/c-stack-returning-int64.rs
+++ b/src/test/run-pass/c-stack-returning-int64.rs
@@ -13,9 +13,8 @@ extern mod std;
 #[abi = "cdecl"]
 #[nolink]
 extern mod libc {
-    #[legacy_exports];
-    fn atol(x: *u8) -> int;
-    fn atoll(x: *u8) -> i64;
+    pub fn atol(x: *u8) -> int;
+    pub fn atoll(x: *u8) -> i64;
 }
 
 fn atol(s: ~str) -> int {
diff --git a/src/test/run-pass/cci_borrow.rs b/src/test/run-pass/cci_borrow.rs
index 98590e5c2af..def739c1002 100644
--- a/src/test/run-pass/cci_borrow.rs
+++ b/src/test/run-pass/cci_borrow.rs
@@ -11,12 +11,10 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_borrow_lib.rs
 
-#[legacy_exports];
-
 extern mod cci_borrow_lib;
 use cci_borrow_lib::foo;
 
-fn main() {
+pub fn main() {
     let p = @22u;
     let r = foo(p);
     debug!("r=%u", r);
diff --git a/src/test/run-pass/cci_capture_clause.rs b/src/test/run-pass/cci_capture_clause.rs
index 6a04dbee8dc..bb740652709 100644
--- a/src/test/run-pass/cci_capture_clause.rs
+++ b/src/test/run-pass/cci_capture_clause.rs
@@ -14,10 +14,8 @@
 // This test makes sure we can do cross-crate inlining on functions
 // that use capture clauses.
 
-#[legacy_exports];
-
 extern mod cci_capture_clause;
 
-fn main() {
+pub fn main() {
     cci_capture_clause::foo(()).recv()
 }
diff --git a/src/test/run-pass/cci_nested_exe.rs b/src/test/run-pass/cci_nested_exe.rs
index f603c251fa6..26bfd1ad4dc 100644
--- a/src/test/run-pass/cci_nested_exe.rs
+++ b/src/test/run-pass/cci_nested_exe.rs
@@ -11,13 +11,10 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_nested_lib.rs
 
-#[legacy_modes];
-#[legacy_exports];
-
 extern mod cci_nested_lib;
 use cci_nested_lib::*;
 
-fn main() {
+pub fn main() {
     let lst = new_int_alist();
     alist_add(lst, 22, ~"hi");
     alist_add(lst, 44, ~"ho");
diff --git a/src/test/run-pass/cci_no_inline_exe.rs b/src/test/run-pass/cci_no_inline_exe.rs
index 0d9a122079d..f0adaca8242 100644
--- a/src/test/run-pass/cci_no_inline_exe.rs
+++ b/src/test/run-pass/cci_no_inline_exe.rs
@@ -11,12 +11,10 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_no_inline_lib.rs
 
-#[legacy_exports];
-
 extern mod cci_no_inline_lib;
 use cci_no_inline_lib::iter;
 
-fn main() {
+pub fn main() {
     // Check that a cross-crate call function not marked as inline
     // does not, in fact, get inlined.  Also, perhaps more
     // importantly, checks that our scheme of using
diff --git a/src/test/run-pass/class-exports.rs b/src/test/run-pass/class-exports.rs
index b3e85c51895..184d2788329 100644
--- a/src/test/run-pass/class-exports.rs
+++ b/src/test/run-pass/class-exports.rs
@@ -16,24 +16,21 @@
 use kitty::*;
 
 mod kitty {
-    #[legacy_exports];
-  export cat;
-  struct cat {
-    meows: uint,
-    name: ~str,
-  }
+    pub struct cat {
+        meows: uint,
+        name: ~str,
+    }
 
-  impl cat {
-    fn get_name() -> ~str { copy self.name }
-  }
+    pub impl cat {
+        fn get_name() -> ~str { copy self.name }
+    }
 
-    fn cat(in_name: ~str) -> cat {
+    pub fn cat(in_name: ~str) -> cat {
         cat {
             name: in_name,
             meows: 0u
         }
     }
-
 }
 
 fn main() {
diff --git a/src/test/run-pass/conditional-compile.rs b/src/test/run-pass/conditional-compile.rs
index 5ddea605587..404a58e1a4b 100644
--- a/src/test/run-pass/conditional-compile.rs
+++ b/src/test/run-pass/conditional-compile.rs
@@ -22,15 +22,13 @@ const b: bool = true;
 #[cfg(bogus)]
 #[abi = "cdecl"]
 extern mod rustrt {
-    #[legacy_exports];
     // This symbol doesn't exist and would be a link error if this
     // module was translated
-    fn bogus();
+    pub fn bogus();
 }
 
 #[abi = "cdecl"]
-extern mod rustrt {
-    #[legacy_exports]; }
+extern mod rustrt {}
 
 #[cfg(bogus)]
 type t = int;
@@ -66,21 +64,18 @@ fn r(i:int) -> r {
 
 #[cfg(bogus)]
 mod m {
-    #[legacy_exports];
     // This needs to parse but would fail in typeck. Since it's not in
     // the current config it should not be typechecked.
-    fn bogus() { return 0; }
+    pub fn bogus() { return 0; }
 }
 
 mod m {
-    #[legacy_exports];
-
     // Submodules have slightly different code paths than the top-level
     // module, so let's make sure this jazz works here as well
     #[cfg(bogus)]
-    fn f() { }
+    pub fn f() { }
 
-    fn f() { }
+    pub fn f() { }
 }
 
 // Since the bogus configuration isn't defined main will just be
@@ -111,23 +106,19 @@ fn test_in_fn_ctxt() {
 }
 
 mod test_foreign_items {
-    #[legacy_exports];
     #[abi = "cdecl"]
-    extern mod rustrt {
-        #[legacy_exports];
+    pub extern mod rustrt {
         #[cfg(bogus)]
-        fn rust_getcwd() -> ~str;
-        fn rust_getcwd() -> ~str;
+        pub fn rust_getcwd() -> ~str;
+        pub fn rust_getcwd() -> ~str;
     }
 }
 
 mod test_use_statements {
-    #[legacy_exports];
     #[cfg(bogus)]
     use flippity_foo;
 
-    extern mod rustrt {
-        #[legacy_exports];
+    pub extern mod rustrt {
         #[cfg(bogus)]
         use flippity_foo;
     }
diff --git a/src/test/run-pass/crateresolve2.rs b/src/test/run-pass/crateresolve2.rs
index 083223feb3b..407c8792d88 100644
--- a/src/test/run-pass/crateresolve2.rs
+++ b/src/test/run-pass/crateresolve2.rs
@@ -14,21 +14,18 @@
 // aux-build:crateresolve2-3.rs
 
 mod a {
-    #[legacy_exports];
     extern mod crateresolve2(vers = "0.1");
-    fn f() { assert crateresolve2::f() == 10; }
+    pub fn f() { assert crateresolve2::f() == 10; }
 }
 
 mod b {
-    #[legacy_exports];
     extern mod crateresolve2(vers = "0.2");
-    fn f() { assert crateresolve2::f() == 20; }
+    pub fn f() { assert crateresolve2::f() == 20; }
 }
 
 mod c {
-    #[legacy_exports];
     extern mod crateresolve2(vers = "0.3");
-    fn f() { assert crateresolve2::f() == 30; }
+    pub fn f() { assert crateresolve2::f() == 30; }
 }
 
 fn main() {
diff --git a/src/test/run-pass/crateresolve3.rs b/src/test/run-pass/crateresolve3.rs
index c82a71ccb74..e92febf9637 100644
--- a/src/test/run-pass/crateresolve3.rs
+++ b/src/test/run-pass/crateresolve3.rs
@@ -16,15 +16,13 @@
 // as long as no name collision on invoked functions.
 
 mod a {
-    #[legacy_exports];
     extern mod crateresolve3(vers = "0.1");
-    fn f() { assert crateresolve3::f() == 10; }
+    pub fn f() { assert crateresolve3::f() == 10; }
 }
 
 mod b {
-    #[legacy_exports];
     extern mod crateresolve3(vers = "0.2");
-    fn f() { assert crateresolve3::g() == 20; }
+    pub fn f() { assert crateresolve3::g() == 20; }
 }
 
 fn main() {
diff --git a/src/test/run-pass/crateresolve4.rs b/src/test/run-pass/crateresolve4.rs
index feede6336d8..4e664c41aa3 100644
--- a/src/test/run-pass/crateresolve4.rs
+++ b/src/test/run-pass/crateresolve4.rs
@@ -14,21 +14,17 @@
 // aux-build:crateresolve4b-1.rs
 // aux-build:crateresolve4b-2.rs
 
-#[legacy_exports];
-
-mod a {
-    #[legacy_exports];
+pub mod a {
     extern mod crateresolve4b(vers = "0.1");
-    fn f() { assert crateresolve4b::f() == 20; }
+    pub fn f() { assert crateresolve4b::f() == 20; }
 }
 
-mod b {
-    #[legacy_exports];
+pub mod b {
     extern mod crateresolve4b(vers = "0.2");
-    fn f() { assert crateresolve4b::g() == 10; }
+    pub fn f() { assert crateresolve4b::g() == 10; }
 }
 
-fn main() {
+pub fn main() {
     a::f();
     b::f();
 }
diff --git a/src/test/run-pass/export-abstract-tag.rs b/src/test/run-pass/export-abstract-tag.rs
index 745201b2eda..cc7793fdf28 100644
--- a/src/test/run-pass/export-abstract-tag.rs
+++ b/src/test/run-pass/export-abstract-tag.rs
@@ -12,13 +12,9 @@
 // sort of ADT.
 
 mod foo {
-    #[legacy_exports];
-    export t;
-    export f;
+    pub enum t { t1, }
 
-    enum t { t1, }
-
-    fn f() -> t { return t1; }
+    pub fn f() -> t { return t1; }
 }
 
 fn main() { let v: foo::t = foo::f(); }
diff --git a/src/test/run-pass/export-glob-imports-target.rs b/src/test/run-pass/export-glob-imports-target.rs
index 5f547e09c89..33a54b85ea8 100644
--- a/src/test/run-pass/export-glob-imports-target.rs
+++ b/src/test/run-pass/export-glob-imports-target.rs
@@ -16,13 +16,11 @@
 // Modified to not use export since it's going away. --pcw
 
 mod foo {
-    #[legacy_exports];
     use foo::bar::*;
-    mod bar {
-        #[legacy_exports];
-        const a : int = 10;
+    pub mod bar {
+        pub const a : int = 10;
     }
-    fn zum() {
+    pub fn zum() {
         let b = a;
     }
 }
diff --git a/src/test/run-pass/export-glob.rs b/src/test/run-pass/export-glob.rs
deleted file mode 100644
index 4c0287843fc..00000000000
--- a/src/test/run-pass/export-glob.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// xfail-fast
-
-// Copyright 2012 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.
-
-// Test that a glob-export functions as an explicit
-// named export when referenced from outside its scope.
-
-// Modified to not use export since it's going away. --pcw
-
-mod foo {
-    #[legacy_exports];
-    use foo::bar::*;
-    export a;
-    export bar;
-    mod bar {
-        #[legacy_exports];
-        const a : int = 10;
-    }
-}
-
-fn main() { let v = foo::a; }
diff --git a/src/test/run-pass/export-multi.rs b/src/test/run-pass/export-multi.rs
index c9d7fe4d6b9..d19f7c0d31c 100644
--- a/src/test/run-pass/export-multi.rs
+++ b/src/test/run-pass/export-multi.rs
@@ -14,11 +14,8 @@ use m::f;
 use m::g;
 
 mod m {
-    #[legacy_exports];
-    export f, g;
-
-    fn f() { }
-    fn g() { }
+    pub fn f() { }
+    pub fn g() { }
 }
 
 fn main() { f(); g(); m::f(); m::g(); }
diff --git a/src/test/run-pass/export-non-interference.rs b/src/test/run-pass/export-non-interference.rs
index da56eacca02..67f8191ae58 100644
--- a/src/test/run-pass/export-non-interference.rs
+++ b/src/test/run-pass/export-non-interference.rs
@@ -9,9 +9,6 @@
 // except according to those terms.
 
 
-export foo;
-export main;
-
 enum list_cell<T> { cons(@list_cell<T>), nil }
 
-fn main() { }
+pub fn main() { }
diff --git a/src/test/run-pass/export-tag-variant.rs b/src/test/run-pass/export-tag-variant.rs
index bbfd88621c1..06b513c4ad9 100644
--- a/src/test/run-pass/export-tag-variant.rs
+++ b/src/test/run-pass/export-tag-variant.rs
@@ -8,12 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// Export the enum variants, without the enum
-
 mod foo {
-    #[legacy_exports];
-    export t1;
-    enum t { t1, }
+    pub enum t { t1, }
 }
 
 fn main() { let v = foo::t1; }
diff --git a/src/test/run-pass/export-unexported-dep.rs b/src/test/run-pass/export-unexported-dep.rs
index b571f3de986..1119bfde2fc 100644
--- a/src/test/run-pass/export-unexported-dep.rs
+++ b/src/test/run-pass/export-unexported-dep.rs
@@ -12,10 +12,6 @@
 // that are not exported, allowing for a sort of poor-man's ADT
 
 mod foo {
-    #[legacy_exports];
-    export f;
-    export g;
-
     // not exported
     enum t { t1, t2, }
 
@@ -26,9 +22,9 @@ mod foo {
         pure fn ne(&self, other: &t) -> bool { !(*self).eq(other) }
     }
 
-    fn f() -> t { return t1; }
+    pub fn f() -> t { return t1; }
 
-    fn g(v: t) { assert (v == t1); }
+    pub fn g(v: t) { assert (v == t1); }
 }
 
 fn main() { foo::g(foo::f()); }
diff --git a/src/test/run-pass/expr-scope.rs b/src/test/run-pass/expr-scope.rs
index f418f2703d5..35e3ff60243 100644
--- a/src/test/run-pass/expr-scope.rs
+++ b/src/test/run-pass/expr-scope.rs
@@ -11,7 +11,5 @@
 // Regression test for issue #762
 // xfail-fast
 
-#[legacy_exports];
-
-fn f() { }
+pub fn f() { }
 fn main() { return ::f(); }
diff --git a/src/test/run-pass/extern-call-deep.rs b/src/test/run-pass/extern-call-deep.rs
index 18febc51b3d..da09dd02be3 100644
--- a/src/test/run-pass/extern-call-deep.rs
+++ b/src/test/run-pass/extern-call-deep.rs
@@ -9,9 +9,8 @@
 // except according to those terms.
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn rust_dbg_call(cb: *u8,
-                     data: libc::uintptr_t) -> libc::uintptr_t;
+    pub fn rust_dbg_call(cb: *u8,
+                         data: libc::uintptr_t) -> libc::uintptr_t;
 }
 
 extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
diff --git a/src/test/run-pass/extern-call-deep2.rs b/src/test/run-pass/extern-call-deep2.rs
index a0c1d586018..52753e2549f 100644
--- a/src/test/run-pass/extern-call-deep2.rs
+++ b/src/test/run-pass/extern-call-deep2.rs
@@ -9,9 +9,8 @@
 // except according to those terms.
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn rust_dbg_call(cb: *u8,
-                     data: libc::uintptr_t) -> libc::uintptr_t;
+    pub fn rust_dbg_call(cb: *u8,
+                         data: libc::uintptr_t) -> libc::uintptr_t;
 }
 
 extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
diff --git a/src/test/run-pass/extern-call-scrub.rs b/src/test/run-pass/extern-call-scrub.rs
index 407b0d5b028..1db40fbcc21 100644
--- a/src/test/run-pass/extern-call-scrub.rs
+++ b/src/test/run-pass/extern-call-scrub.rs
@@ -13,9 +13,8 @@
 // directions
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn rust_dbg_call(cb: *u8,
-                     data: libc::uintptr_t) -> libc::uintptr_t;
+    pub fn rust_dbg_call(cb: *u8,
+                         data: libc::uintptr_t) -> libc::uintptr_t;
 }
 
 extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
diff --git a/src/test/run-pass/extern-call.rs b/src/test/run-pass/extern-call.rs
index dec8416f2b4..2c92202992d 100644
--- a/src/test/run-pass/extern-call.rs
+++ b/src/test/run-pass/extern-call.rs
@@ -9,9 +9,8 @@
 // except according to those terms.
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn rust_dbg_call(cb: *u8,
-                     data: libc::uintptr_t) -> libc::uintptr_t;
+    pub fn rust_dbg_call(cb: *u8,
+                         data: libc::uintptr_t) -> libc::uintptr_t;
 }
 
 extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
diff --git a/src/test/run-pass/extern-stress.rs b/src/test/run-pass/extern-stress.rs
index 9b816dc3471..bd6d597c74c 100644
--- a/src/test/run-pass/extern-stress.rs
+++ b/src/test/run-pass/extern-stress.rs
@@ -12,9 +12,8 @@
 // while holding onto C stacks
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn rust_dbg_call(cb: *u8,
-                     data: libc::uintptr_t) -> libc::uintptr_t;
+    pub fn rust_dbg_call(cb: *u8,
+                         data: libc::uintptr_t) -> libc::uintptr_t;
 }
 
 extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
diff --git a/src/test/run-pass/extern-yield.rs b/src/test/run-pass/extern-yield.rs
index 9667f522168..1ec8f8ab8a3 100644
--- a/src/test/run-pass/extern-yield.rs
+++ b/src/test/run-pass/extern-yield.rs
@@ -9,9 +9,8 @@
 // except according to those terms.
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn rust_dbg_call(cb: *u8,
-                     data: libc::uintptr_t) -> libc::uintptr_t;
+    pub fn rust_dbg_call(cb: *u8,
+                         data: libc::uintptr_t) -> libc::uintptr_t;
 }
 
 extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
diff --git a/src/test/run-pass/foreign-dupe.rs b/src/test/run-pass/foreign-dupe.rs
index a719926ddbe..b06afbfe55e 100644
--- a/src/test/run-pass/foreign-dupe.rs
+++ b/src/test/run-pass/foreign-dupe.rs
@@ -14,15 +14,13 @@
 #[abi = "cdecl"]
 #[link_name = "rustrt"]
 extern mod rustrt1 {
-    #[legacy_exports];
-    fn last_os_error() -> ~str;
+    pub fn last_os_error() -> ~str;
 }
 
 #[abi = "cdecl"]
 #[link_name = "rustrt"]
 extern mod rustrt2 {
-    #[legacy_exports];
-    fn last_os_error() -> ~str;
+    pub fn last_os_error() -> ~str;
 }
 
 fn main() {
diff --git a/src/test/run-pass/foreign-fn-linkname.rs b/src/test/run-pass/foreign-fn-linkname.rs
index 9df30d90d1c..ffadd4bd41b 100644
--- a/src/test/run-pass/foreign-fn-linkname.rs
+++ b/src/test/run-pass/foreign-fn-linkname.rs
@@ -14,9 +14,8 @@ extern mod std;
 #[nolink]
 #[abi = "cdecl"]
 extern mod libc {
-    #[legacy_exports];
     #[link_name = "strlen"]
-    fn my_strlen(str: *u8) -> uint;
+    pub fn my_strlen(str: *u8) -> uint;
 }
 
 fn strlen(str: ~str) -> uint {
diff --git a/src/test/run-pass/foreign-lib-path.rs b/src/test/run-pass/foreign-lib-path.rs
index c0c4f6b69d3..b2935ba9f10 100644
--- a/src/test/run-pass/foreign-lib-path.rs
+++ b/src/test/run-pass/foreign-lib-path.rs
@@ -16,10 +16,9 @@
 // wouthout providing a -L argument to the compiler, and that
 // will also be found successfully at runtime.
 extern mod WHATGOESHERE {
-    #[legacy_exports];
-    fn IDONTKNOW() -> u32;
+    pub fn IDONTKNOW() -> u32;
 }
 
 fn main() {
     assert IDONTKNOW() == 0x_BAD_DOOD_u32;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/foreign-mod-unused-const.rs b/src/test/run-pass/foreign-mod-unused-const.rs
index 97feead85f3..f05d40ad1d6 100644
--- a/src/test/run-pass/foreign-mod-unused-const.rs
+++ b/src/test/run-pass/foreign-mod-unused-const.rs
@@ -10,8 +10,7 @@
 
 #[nolink]
 extern mod foo {
-    #[legacy_exports];
-    const errno: int;
+    pub const errno: int;
 }
 
 fn main() {
diff --git a/src/test/run-pass/foreign-no-abi.rs b/src/test/run-pass/foreign-no-abi.rs
index a5ac7e4f669..1782778e5d7 100644
--- a/src/test/run-pass/foreign-no-abi.rs
+++ b/src/test/run-pass/foreign-no-abi.rs
@@ -11,8 +11,7 @@
 // ABI is cdecl by default
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn get_task_id() -> libc::intptr_t;
+    pub fn get_task_id() -> libc::intptr_t;
 }
 
 fn main() {
diff --git a/src/test/run-pass/foreign-struct.rs b/src/test/run-pass/foreign-struct.rs
index 9855854aa44..3adc983a062 100644
--- a/src/test/run-pass/foreign-struct.rs
+++ b/src/test/run-pass/foreign-struct.rs
@@ -15,8 +15,7 @@ enum void { }
 
 #[nolink]
 extern mod bindgen {
-    #[legacy_exports];
-    fn printf(++v: void);
+    pub fn printf(++v: void);
 }
 
 fn main() { }
diff --git a/src/test/run-pass/foreign2.rs b/src/test/run-pass/foreign2.rs
index 0018a1d62f6..9a5d747521b 100644
--- a/src/test/run-pass/foreign2.rs
+++ b/src/test/run-pass/foreign2.rs
@@ -10,25 +10,21 @@
 
 #[abi = "cdecl"]
 #[nolink]
-extern mod bar {
-    #[legacy_exports]; }
+extern mod bar {}
 
 #[abi = "cdecl"]
 #[nolink]
-extern mod zed {
-    #[legacy_exports]; }
+extern mod zed {}
 
 #[abi = "cdecl"]
 #[nolink]
 extern mod libc {
-    #[legacy_exports];
-    fn write(fd: int, buf: *u8,
-             count: ::core::libc::size_t) -> ::core::libc::ssize_t;
+    pub fn write(fd: int, buf: *u8,
+                 count: ::core::libc::size_t) -> ::core::libc::ssize_t;
 }
 
 #[abi = "cdecl"]
 #[nolink]
-extern mod baz {
-    #[legacy_exports]; }
+extern mod baz {}
 
 fn main() { }
diff --git a/src/test/run-pass/generic-fn-twice.rs b/src/test/run-pass/generic-fn-twice.rs
index ad5c1fbb98c..2316ca61a3c 100644
--- a/src/test/run-pass/generic-fn-twice.rs
+++ b/src/test/run-pass/generic-fn-twice.rs
@@ -13,8 +13,7 @@
 
 // -*- rust -*-
 mod foomod {
-    #[legacy_exports];
-    fn foo<T>() { }
+    pub fn foo<T>() { }
 }
 
 fn main() { foomod::foo::<int>(); foomod::foo::<int>(); }
diff --git a/src/test/run-pass/global-scope.rs b/src/test/run-pass/global-scope.rs
index 11b890d11d3..0da95be3106 100644
--- a/src/test/run-pass/global-scope.rs
+++ b/src/test/run-pass/global-scope.rs
@@ -10,14 +10,11 @@
 
 // xfail-fast
 
-#[legacy_exports];
+pub fn f() -> int { return 1; }
 
-fn f() -> int { return 1; }
-
-mod foo {
-    #[legacy_exports];
-    fn f() -> int { return 2; }
-    fn g() { assert (f() == 2); assert (::f() == 1); }
+pub mod foo {
+    pub fn f() -> int { return 2; }
+    pub fn g() { assert (f() == 2); assert (::f() == 1); }
 }
 
 fn main() { return foo::g(); }
diff --git a/src/test/run-pass/import-from-foreign.rs b/src/test/run-pass/import-from-foreign.rs
index 9106f4a5e75..11affd7f9e6 100644
--- a/src/test/run-pass/import-from-foreign.rs
+++ b/src/test/run-pass/import-from-foreign.rs
@@ -11,17 +11,13 @@
 // except according to those terms.
 
 mod spam {
-    #[legacy_exports];
-    fn ham() { }
-    fn eggs() { }
+    pub fn ham() { }
+    pub fn eggs() { }
 }
 
 #[abi = "cdecl"]
 extern mod rustrt {
-    #[legacy_exports];
-    use spam::{ham, eggs};
-    export ham;
-    export eggs;
+    pub use spam::{ham, eggs};
 }
 
 fn main() { rustrt::ham(); rustrt::eggs(); }
diff --git a/src/test/run-pass/import-from.rs b/src/test/run-pass/import-from.rs
index 390ccf35e37..7b739fa9d66 100644
--- a/src/test/run-pass/import-from.rs
+++ b/src/test/run-pass/import-from.rs
@@ -13,9 +13,8 @@
 use spam::{ham, eggs};
 
 mod spam {
-    #[legacy_exports];
-    fn ham() { }
-    fn eggs() { }
+    pub fn ham() { }
+    pub fn eggs() { }
 }
 
 fn main() { ham(); eggs(); }
diff --git a/src/test/run-pass/import-glob-0.rs b/src/test/run-pass/import-glob-0.rs
index 5297ee61d20..6e3d995ed41 100644
--- a/src/test/run-pass/import-glob-0.rs
+++ b/src/test/run-pass/import-glob-0.rs
@@ -14,30 +14,20 @@ use module_of_many_things::*;
 use dug::too::greedily::and::too::deep::*;
 
 mod module_of_many_things {
-    #[legacy_exports];
-    export f1;
-    export f2;
-    export f4;
-    fn f1() { debug!("f1"); }
-    fn f2() { debug!("f2"); }
+    pub fn f1() { debug!("f1"); }
+    pub fn f2() { debug!("f2"); }
     fn f3() { debug!("f3"); }
-    fn f4() { debug!("f4"); }
+    pub fn f4() { debug!("f4"); }
 }
 
 mod dug {
-    #[legacy_exports];
-    mod too {
-        #[legacy_exports];
-        mod greedily {
-            #[legacy_exports];
-            mod and {
-                #[legacy_exports];
-                mod too {
-                    #[legacy_exports];
-                    mod deep {
-                        #[legacy_exports];
-                        fn nameless_fear() { debug!("Boo!"); }
-                        fn also_redstone() { debug!("Whatever."); }
+    pub mod too {
+        pub mod greedily {
+            pub mod and {
+                pub mod too {
+                    pub mod deep {
+                        pub fn nameless_fear() { debug!("Boo!"); }
+                        pub fn also_redstone() { debug!("Whatever."); }
                     }
                 }
             }
diff --git a/src/test/run-pass/import-glob-1.rs b/src/test/run-pass/import-glob-1.rs
deleted file mode 100644
index 32770f39c0e..00000000000
--- a/src/test/run-pass/import-glob-1.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-// xfail-fast
-
-// Copyright 2012 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.
-
-use a1::b1::word_traveler;
-
-mod a1 {
-    #[legacy_exports];
-    //
-    mod b1 {
-        #[legacy_exports];
-        //
-        use a2::b1::*;
-        //         = move\
-        export word_traveler; //           |
-    }
-    //           |
-    mod b2 {
-        #[legacy_exports];
-        //           |
-        use a2::b2::*;
-        // = move\  -\   |
-        export word_traveler; //   |   |   |
-    } //   |   |   |
-}
-//   |   |   |
-//   |   |   |
-mod a2 {
-    #[legacy_exports];
-    //   |   |   |
-    #[abi = "cdecl"]
-    #[nolink]
-    extern mod b1 {
-        #[legacy_exports];
-        //   |   |   |
-        use a1::b2::*;
-        //   | = move/  -/
-        export word_traveler; //   |
-    }
-    //   |
-    mod b2 {
-        #[legacy_exports];
-        //   |
-        fn word_traveler() { //   |
-            debug!("ahoy!"); //  -/
-        } //
-    } //
-}
-//
-
-
-fn main() { word_traveler(); }
diff --git a/src/test/run-pass/import-trailing-comma.rs b/src/test/run-pass/import-trailing-comma.rs
index 4a1ad3c5100..d04212155a8 100644
--- a/src/test/run-pass/import-trailing-comma.rs
+++ b/src/test/run-pass/import-trailing-comma.rs
@@ -13,11 +13,9 @@
 use foo::bar::{baz, quux,};
 
 mod foo {
-    #[legacy_exports];
-    mod bar {
-        #[legacy_exports];
-        fn baz() { }
-        fn quux() { }
+    pub mod bar {
+        pub fn baz() { }
+        pub fn quux() { }
     }
 }
 
diff --git a/src/test/run-pass/import.rs b/src/test/run-pass/import.rs
index a3fdefaeba6..2379cca3111 100644
--- a/src/test/run-pass/import.rs
+++ b/src/test/run-pass/import.rs
@@ -11,15 +11,13 @@
 // except according to those terms.
 
 mod foo {
-    #[legacy_exports];
-    fn x(y: int) { log(debug, y); }
+    pub fn x(y: int) { log(debug, y); }
 }
 
 mod bar {
-    #[legacy_exports];
     use foo::x;
     use z = foo::x;
-    fn thing() { x(10); z(10); }
+    pub fn thing() { x(10); z(10); }
 }
 
 fn main() { bar::thing(); }
diff --git a/src/test/run-pass/import2.rs b/src/test/run-pass/import2.rs
index 34f67340a28..37c11b81b4a 100644
--- a/src/test/run-pass/import2.rs
+++ b/src/test/run-pass/import2.rs
@@ -14,8 +14,7 @@
 use zed::bar;
 
 mod zed {
-    #[legacy_exports];
-    fn bar() { debug!("bar"); }
+    pub fn bar() { debug!("bar"); }
 }
 
 fn main() { bar(); }
diff --git a/src/test/run-pass/import3.rs b/src/test/run-pass/import3.rs
index b3545d9ec8c..757034d4b41 100644
--- a/src/test/run-pass/import3.rs
+++ b/src/test/run-pass/import3.rs
@@ -15,10 +15,8 @@ use baz::zed;
 use zed::bar;
 
 mod baz {
-    #[legacy_exports];
-    mod zed {
-        #[legacy_exports];
-        fn bar() { debug!("bar2"); }
+    pub mod zed {
+        pub fn bar() { debug!("bar2"); }
     }
 }
 
diff --git a/src/test/run-pass/import4.rs b/src/test/run-pass/import4.rs
index 9941648c4f0..4ea180a1e25 100644
--- a/src/test/run-pass/import4.rs
+++ b/src/test/run-pass/import4.rs
@@ -14,8 +14,7 @@
 use zed::bar;
 
 mod zed {
-    #[legacy_exports];
-    fn bar() { debug!("bar"); }
+    pub fn bar() { debug!("bar"); }
 }
 
 fn main() { let zed = 42; bar(); }
diff --git a/src/test/run-pass/import5.rs b/src/test/run-pass/import5.rs
index 554aa4154b3..ab94fea0971 100644
--- a/src/test/run-pass/import5.rs
+++ b/src/test/run-pass/import5.rs
@@ -12,13 +12,9 @@
 
 use foo::bar;
 mod foo {
-    #[legacy_exports];
-    use foo::zed::bar;
-    export bar;
-    export zed;
-    mod zed {
-        #[legacy_exports];
-        fn bar() { debug!("foo"); }
+    pub use foo::zed::bar;
+    pub mod zed {
+        pub fn bar() { debug!("foo"); }
     }
 }
 
diff --git a/src/test/run-pass/import6.rs b/src/test/run-pass/import6.rs
index 5ffbc0895bd..2a789969bcb 100644
--- a/src/test/run-pass/import6.rs
+++ b/src/test/run-pass/import6.rs
@@ -13,15 +13,11 @@
 use foo::zed;
 use bar::baz;
 mod foo {
-    #[legacy_exports];
-    mod zed {
-        #[legacy_exports];
-        fn baz() { debug!("baz"); }
+    pub mod zed {
+        pub fn baz() { debug!("baz"); }
     }
 }
 mod bar {
-    #[legacy_exports];
-    use zed::baz;
-    export baz;
+    pub use zed::baz;
 }
 fn main() { baz(); }
diff --git a/src/test/run-pass/import7.rs b/src/test/run-pass/import7.rs
index 579a1e093ce..91b0943a833 100644
--- a/src/test/run-pass/import7.rs
+++ b/src/test/run-pass/import7.rs
@@ -13,20 +13,14 @@
 use foo::zed;
 use bar::baz;
 mod foo {
-    #[legacy_exports];
-    mod zed {
-        #[legacy_exports];
-        fn baz() { debug!("baz"); }
+    pub mod zed {
+        pub fn baz() { debug!("baz"); }
     }
 }
 mod bar {
-    #[legacy_exports];
-    use zed::baz;
-    export baz;
-    mod foo {
-        #[legacy_exports];
-        mod zed {
-            #[legacy_exports]; }
+    pub use zed::baz;
+    pub mod foo {
+        pub mod zed {}
     }
 }
 fn main() { baz(); }
diff --git a/src/test/run-pass/import8.rs b/src/test/run-pass/import8.rs
index d05e88a2b8d..4572f59aeea 100644
--- a/src/test/run-pass/import8.rs
+++ b/src/test/run-pass/import8.rs
@@ -15,8 +15,7 @@ use foo::x;
 use z = foo::x;
 
 mod foo {
-    #[legacy_exports];
-    fn x(y: int) { log(debug, y); }
+    pub fn x(y: int) { log(debug, y); }
 }
 
 fn main() { x(10); z(10); }
diff --git a/src/test/run-pass/inner-module.rs b/src/test/run-pass/inner-module.rs
index 359d16ef1b2..1754eddb2ca 100644
--- a/src/test/run-pass/inner-module.rs
+++ b/src/test/run-pass/inner-module.rs
@@ -13,12 +13,10 @@
 
 // -*- rust -*-
 mod inner {
-    #[legacy_exports];
-    mod inner2 {
-        #[legacy_exports];
-        fn hello() { debug!("hello, modular world"); }
+    pub mod inner2 {
+        pub fn hello() { debug!("hello, modular world"); }
     }
-    fn hello() { inner2::hello(); }
+    pub fn hello() { inner2::hello(); }
 }
 
 fn main() { inner::hello(); inner::inner2::hello(); }
diff --git a/src/test/run-pass/intrinsic-alignment.rs b/src/test/run-pass/intrinsic-alignment.rs
index edc5f2ddbc9..9bd33df6b17 100644
--- a/src/test/run-pass/intrinsic-alignment.rs
+++ b/src/test/run-pass/intrinsic-alignment.rs
@@ -12,9 +12,8 @@
 
 #[abi = "rust-intrinsic"]
 extern mod rusti {
-    #[legacy_exports];
-    fn pref_align_of<T>() -> uint;
-    fn min_align_of<T>() -> uint;
+    pub fn pref_align_of<T>() -> uint;
+    pub fn min_align_of<T>() -> uint;
 }
 
 #[cfg(target_os = "linux")]
diff --git a/src/test/run-pass/intrinsic-atomics.rs b/src/test/run-pass/intrinsic-atomics.rs
index fa858252825..bee9e1dd1dd 100644
--- a/src/test/run-pass/intrinsic-atomics.rs
+++ b/src/test/run-pass/intrinsic-atomics.rs
@@ -10,22 +10,21 @@
 
 #[abi = "rust-intrinsic"]
 extern mod rusti {
-    #[legacy_exports];
-    fn atomic_cxchg(dst: &mut int, old: int, src: int) -> int;
-    fn atomic_cxchg_acq(dst: &mut int, old: int, src: int) -> int;
-    fn atomic_cxchg_rel(dst: &mut int, old: int, src: int) -> int;
-
-    fn atomic_xchg(dst: &mut int, src: int) -> int;
-    fn atomic_xchg_acq(dst: &mut int, src: int) -> int;
-    fn atomic_xchg_rel(dst: &mut int, src: int) -> int;
+    pub fn atomic_cxchg(dst: &mut int, old: int, src: int) -> int;
+    pub fn atomic_cxchg_acq(dst: &mut int, old: int, src: int) -> int;
+    pub fn atomic_cxchg_rel(dst: &mut int, old: int, src: int) -> int;
+
+    pub fn atomic_xchg(dst: &mut int, src: int) -> int;
+    pub fn atomic_xchg_acq(dst: &mut int, src: int) -> int;
+    pub fn atomic_xchg_rel(dst: &mut int, src: int) -> int;
     
-    fn atomic_xadd(dst: &mut int, src: int) -> int;
-    fn atomic_xadd_acq(dst: &mut int, src: int) -> int;
-    fn atomic_xadd_rel(dst: &mut int, src: int) -> int;
+    pub fn atomic_xadd(dst: &mut int, src: int) -> int;
+    pub fn atomic_xadd_acq(dst: &mut int, src: int) -> int;
+    pub fn atomic_xadd_rel(dst: &mut int, src: int) -> int;
     
-    fn atomic_xsub(dst: &mut int, src: int) -> int;
-    fn atomic_xsub_acq(dst: &mut int, src: int) -> int;
-    fn atomic_xsub_rel(dst: &mut int, src: int) -> int;
+    pub fn atomic_xsub(dst: &mut int, src: int) -> int;
+    pub fn atomic_xsub_acq(dst: &mut int, src: int) -> int;
+    pub fn atomic_xsub_rel(dst: &mut int, src: int) -> int;
 }
 
 fn main() {
diff --git a/src/test/run-pass/intrinsic-frame-address.rs b/src/test/run-pass/intrinsic-frame-address.rs
index 40af377ba91..603f3d7dc81 100644
--- a/src/test/run-pass/intrinsic-frame-address.rs
+++ b/src/test/run-pass/intrinsic-frame-address.rs
@@ -12,8 +12,7 @@
 #[legacy_modes];
 #[abi = "rust-intrinsic"]
 extern mod rusti {
-    #[legacy_exports];
-    fn frame_address(f: &once fn(*u8));
+    pub fn frame_address(f: &once fn(*u8));
 }
 
 fn main() {
diff --git a/src/test/run-pass/issue-1251.rs b/src/test/run-pass/issue-1251.rs
index 3f54aa6e405..bc330902b76 100644
--- a/src/test/run-pass/issue-1251.rs
+++ b/src/test/run-pass/issue-1251.rs
@@ -11,8 +11,7 @@
 #[link(name = "get_task_id")];
 
 extern mod rustrt {
-    #[legacy_exports];
-      fn get_task_id() -> libc::intptr_t;
+    pub fn get_task_id() -> libc::intptr_t;
 }
 
 fn main() { }
diff --git a/src/test/run-pass/issue-1866.rs b/src/test/run-pass/issue-1866.rs
index d4a3cb1c64d..72fc38e9a0f 100644
--- a/src/test/run-pass/issue-1866.rs
+++ b/src/test/run-pass/issue-1866.rs
@@ -10,20 +10,16 @@
 
 // xfail-test
 mod a {
-    #[legacy_exports];
-    type rust_task = uint;
-    extern mod rustrt {
-        #[legacy_exports];
-        fn rust_task_is_unwinding(rt: *rust_task) -> bool;
+    pub type rust_task = uint;
+    pub extern mod rustrt {
+        pub fn rust_task_is_unwinding(rt: *rust_task) -> bool;
     }
 }
 
 mod b {
-    #[legacy_exports];
-    type rust_task = bool;
-    extern mod rustrt {
-        #[legacy_exports];
-        fn rust_task_is_unwinding(rt: *rust_task) -> bool;
+    pub type rust_task = bool;
+    pub extern mod rustrt {
+        pub fn rust_task_is_unwinding(rt: *rust_task) -> bool;
     }
 }
 
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index 5e66d2c7c19..482d2665b2b 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -75,14 +75,13 @@ fn read_board_grid<rdr: &static io::Reader>(+in: rdr) -> ~[~[square]] {
 }
 
 mod test {
-    #[legacy_exports];
     #[test]
-    fn trivial_to_str() {
+    pub fn trivial_to_str() {
         assert lambda.to_str() == "\\"
     }
 
     #[test]
-    fn read_simple_board() {
+    pub fn read_simple_board() {
         let s = include_str!("./maps/contest1.map");
         io::with_str_reader(s, read_board_grid)
     }
diff --git a/src/test/run-pass/item-attributes.rs b/src/test/run-pass/item-attributes.rs
index 407735d1072..d949516a257 100644
--- a/src/test/run-pass/item-attributes.rs
+++ b/src/test/run-pass/item-attributes.rs
@@ -25,49 +25,40 @@
 // These are are attributes of the following mod
 #[attr1 = "val"]
 #[attr2 = "val"]
-mod test_first_item_in_file_mod {
-    #[legacy_exports]; }
+mod test_first_item_in_file_mod {}
 
 mod test_single_attr_outer {
-    #[legacy_exports];
-
     #[attr = "val"]
-    const x: int = 10;
+    pub const x: int = 10;
 
     #[attr = "val"]
-    fn f() { }
+    pub fn f() { }
 
     #[attr = "val"]
-    mod mod1 {
-        #[legacy_exports]; }
+    pub mod mod1 {}
 
     #[attr = "val"]
     #[abi = "cdecl"]
-    extern mod rustrt {
-        #[legacy_exports]; }
+    pub extern mod rustrt {}
 }
 
 mod test_multi_attr_outer {
-    #[legacy_exports];
-
     #[attr1 = "val"]
     #[attr2 = "val"]
-    const x: int = 10;
+    pub const x: int = 10;
 
     #[attr1 = "val"]
     #[attr2 = "val"]
-    fn f() { }
+    pub fn f() { }
 
     #[attr1 = "val"]
     #[attr2 = "val"]
-    mod mod1 {
-        #[legacy_exports]; }
+    pub mod mod1 {}
 
     #[attr1 = "val"]
     #[attr2 = "val"]
     #[abi = "cdecl"]
-    extern mod rustrt {
-        #[legacy_exports]; }
+    pub extern mod rustrt {}
 
     #[attr1 = "val"]
     #[attr2 = "val"]
@@ -75,10 +66,7 @@ mod test_multi_attr_outer {
 }
 
 mod test_stmt_single_attr_outer {
-    #[legacy_exports];
-
-    fn f() {
-
+    pub fn f() {
         #[attr = "val"]
         const x: int = 10;
 
@@ -87,21 +75,17 @@ mod test_stmt_single_attr_outer {
 
         #[attr = "val"]
         mod mod1 {
-            #[legacy_exports];
         }
 
         #[attr = "val"]
         #[abi = "cdecl"]
         extern mod rustrt {
-            #[legacy_exports];
         }
     }
 }
 
 mod test_stmt_multi_attr_outer {
-    #[legacy_exports];
-
-    fn f() {
+    pub fn f() {
 
         #[attr1 = "val"]
         #[attr2 = "val"]
@@ -115,34 +99,26 @@ mod test_stmt_multi_attr_outer {
         #[attr1 = "val"]
         #[attr2 = "val"]
         mod mod1 {
-            #[legacy_exports];
         }
 
         #[attr1 = "val"]
         #[attr2 = "val"]
         #[abi = "cdecl"]
         extern mod rustrt {
-            #[legacy_exports];
         }
         */
     }
 }
 
 mod test_attr_inner {
-    #[legacy_exports];
-
-    mod m {
-        #[legacy_exports];
+    pub mod m {
         // This is an attribute of mod m
         #[attr = "val"];
     }
 }
 
 mod test_attr_inner_then_outer {
-    #[legacy_exports];
-
-    mod m {
-        #[legacy_exports];
+    pub mod m {
         // This is an attribute of mod m
         #[attr = "val"];
         // This is an attribute of fn f
@@ -152,9 +128,7 @@ mod test_attr_inner_then_outer {
 }
 
 mod test_attr_inner_then_outer_multi {
-    #[legacy_exports];
-    mod m {
-        #[legacy_exports];
+    pub mod m {
         // This is an attribute of mod m
         #[attr1 = "val"];
         #[attr2 = "val"];
@@ -166,11 +140,9 @@ mod test_attr_inner_then_outer_multi {
 }
 
 mod test_distinguish_syntax_ext {
-    #[legacy_exports];
-
     extern mod std;
 
-    fn f() {
+    pub fn f() {
         fmt!("test%s", ~"s");
         #[attr = "val"]
         fn g() { }
@@ -178,19 +150,16 @@ mod test_distinguish_syntax_ext {
 }
 
 mod test_other_forms {
-    #[legacy_exports];
     #[attr]
     #[attr(word)]
     #[attr(attr(word))]
     #[attr(key1 = "val", key2 = "val", attr)]
-    fn f() { }
+    pub fn f() { }
 }
 
 mod test_foreign_items {
-    #[legacy_exports];
     #[abi = "cdecl"]
-    extern mod rustrt {
-        #[legacy_exports];
+    pub extern mod rustrt {
         #[attr];
 
         #[attr]
@@ -199,7 +168,6 @@ mod test_foreign_items {
 }
 
 mod test_literals {
-    #[legacy_exports];
     #[str = "s"];
     #[char = 'c'];
     #[int = 100];
@@ -209,8 +177,7 @@ mod test_literals {
     #[mach_float = 1.0f32];
     #[nil = ()];
     #[bool = true];
-    mod m {
-        #[legacy_exports]; }
+    mod m {}
 }
 
 fn test_fn_inner() {
diff --git a/src/test/run-pass/item-name-overload.rs b/src/test/run-pass/item-name-overload.rs
index a5e1bc322d1..fd3ba938b1c 100644
--- a/src/test/run-pass/item-name-overload.rs
+++ b/src/test/run-pass/item-name-overload.rs
@@ -13,13 +13,11 @@
 
 // -*- rust -*-
 mod foo {
-    #[legacy_exports];
-    fn baz() { }
+    pub fn baz() { }
 }
 
 mod bar {
-    #[legacy_exports];
-    fn baz() { }
+    pub fn baz() { }
 }
 
 fn main() { }
diff --git a/src/test/run-pass/keyword-changes-2012-07-31.rs b/src/test/run-pass/keyword-changes-2012-07-31.rs
index 846550117b4..7a8c3cdaa39 100644
--- a/src/test/run-pass/keyword-changes-2012-07-31.rs
+++ b/src/test/run-pass/keyword-changes-2012-07-31.rs
@@ -16,11 +16,10 @@ fn main() {
 }
 
 mod foo {
-    #[legacy_exports];
 }
 
 fn bar() -> int {
     match 0 {
       _ => { 0 }
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/mod-inside-fn.rs b/src/test/run-pass/mod-inside-fn.rs
index 210ae2c94c4..79b43173228 100644
--- a/src/test/run-pass/mod-inside-fn.rs
+++ b/src/test/run-pass/mod-inside-fn.rs
@@ -10,8 +10,7 @@
 
 fn f() -> int {
     mod m {
-        #[legacy_exports];
-        fn g() -> int { 720 }
+        pub fn g() -> int { 720 }
     }
 
     m::g()
@@ -19,4 +18,4 @@ fn f() -> int {
 
 fn main() {
     assert f() == 720;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/mod-view-items.rs b/src/test/run-pass/mod-view-items.rs
index dd5f7484f10..fdb1d01727a 100644
--- a/src/test/run-pass/mod-view-items.rs
+++ b/src/test/run-pass/mod-view-items.rs
@@ -17,9 +17,8 @@
 // begin failing.
 
 mod m {
-    #[legacy_exports];
     use core::vec;
-    fn f() -> ~[int] { vec::from_elem(1u, 0) }
+    pub fn f() -> ~[int] { vec::from_elem(1u, 0) }
 }
 
 fn main() { let x = m::f(); }
diff --git a/src/test/run-pass/morestack-address.rs b/src/test/run-pass/morestack-address.rs
index 6143f1d3410..609d7d57011 100644
--- a/src/test/run-pass/morestack-address.rs
+++ b/src/test/run-pass/morestack-address.rs
@@ -11,8 +11,7 @@
 #[nolink]
 #[abi = "rust-intrinsic"]
 extern mod rusti {
-    #[legacy_exports];
-    fn morestack_addr() -> *();
+    pub fn morestack_addr() -> *();
 }
 
 fn main() {
diff --git a/src/test/run-pass/morestack6.rs b/src/test/run-pass/morestack6.rs
index a520719562d..352fe3e129d 100644
--- a/src/test/run-pass/morestack6.rs
+++ b/src/test/run-pass/morestack6.rs
@@ -12,15 +12,14 @@
 // external symbols as close to the red zone as possible.
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn debug_get_stk_seg() -> *u8;
+    pub fn debug_get_stk_seg() -> *u8;
 
-    fn rust_get_sched_id() -> libc::intptr_t;
-    fn last_os_error() -> ~str;
-    fn rust_getcwd() -> ~str;
-    fn get_task_id() -> libc::intptr_t;
-    fn rust_sched_threads();
-    fn rust_get_task();
+    pub fn rust_get_sched_id() -> libc::intptr_t;
+    pub fn last_os_error() -> ~str;
+    pub fn rust_getcwd() -> ~str;
+    pub fn get_task_id() -> libc::intptr_t;
+    pub fn rust_sched_threads();
+    pub fn rust_get_task();
 }
 
 fn calllink01() { unsafe { rustrt::rust_get_sched_id(); } }
diff --git a/src/test/run-pass/nil-decl-in-foreign.rs b/src/test/run-pass/nil-decl-in-foreign.rs
index 23ef5f7f5d3..40f4b2339e5 100644
--- a/src/test/run-pass/nil-decl-in-foreign.rs
+++ b/src/test/run-pass/nil-decl-in-foreign.rs
@@ -11,7 +11,6 @@
 // Issue #901
 #[nolink]
 extern mod libc {
-    #[legacy_exports];
-    fn printf(x: ());
+    pub fn printf(x: ());
 }
-fn main() { }
\ No newline at end of file
+fn main() { }
diff --git a/src/test/run-pass/path.rs b/src/test/run-pass/path.rs
index f659143189f..9f600e106b3 100644
--- a/src/test/run-pass/path.rs
+++ b/src/test/run-pass/path.rs
@@ -11,8 +11,7 @@
 
 
 mod foo {
-    #[legacy_exports];
-    fn bar(offset: uint) { }
+    pub fn bar(offset: uint) { }
 }
 
 fn main() { foo::bar(0u); }
diff --git a/src/test/run-pass/rec-align-u32.rs b/src/test/run-pass/rec-align-u32.rs
index 11e2f79aa60..15538648363 100644
--- a/src/test/run-pass/rec-align-u32.rs
+++ b/src/test/run-pass/rec-align-u32.rs
@@ -12,9 +12,8 @@
 
 #[abi = "rust-intrinsic"]
 extern mod rusti {
-    #[legacy_exports];
-    fn pref_align_of<T>() -> uint;
-    fn min_align_of<T>() -> uint;
+    pub fn pref_align_of<T>() -> uint;
+    pub fn min_align_of<T>() -> uint;
 }
 
 // This is the type with the questionable alignment
@@ -32,16 +31,14 @@ struct Outer {
 
 #[cfg(target_arch = "x86")]
 mod m {
-    #[legacy_exports];
-    fn align() -> uint { 4u }
-    fn size() -> uint { 8u }
+    pub fn align() -> uint { 4u }
+    pub fn size() -> uint { 8u }
 }
 
 #[cfg(target_arch = "x86_64")]
 mod m {
-    #[legacy_exports];
-    fn align() -> uint { 4u }
-    fn size() -> uint { 8u }
+    pub fn align() -> uint { 4u }
+    pub fn size() -> uint { 8u }
 }
 
 fn main() {
diff --git a/src/test/run-pass/rec-align-u64.rs b/src/test/run-pass/rec-align-u64.rs
index 5fdabdc360c..30978deb374 100644
--- a/src/test/run-pass/rec-align-u64.rs
+++ b/src/test/run-pass/rec-align-u64.rs
@@ -12,9 +12,8 @@
 
 #[abi = "rust-intrinsic"]
 extern mod rusti {
-    #[legacy_exports];
-    fn pref_align_of<T>() -> uint;
-    fn min_align_of<T>() -> uint;
+    pub fn pref_align_of<T>() -> uint;
+    pub fn min_align_of<T>() -> uint;
 }
 
 // This is the type with the questionable alignment
@@ -34,30 +33,25 @@ struct Outer {
 #[cfg(target_os = "macos")]
 #[cfg(target_os = "freebsd")]
 mod m {
-    #[legacy_exports];
     #[cfg(target_arch = "x86")]
-    mod m {
-        #[legacy_exports];
-        fn align() -> uint { 4u }
-        fn size() -> uint { 12u }
+    pub mod m {
+        pub fn align() -> uint { 4u }
+        pub fn size() -> uint { 12u }
     }
 
     #[cfg(target_arch = "x86_64")]
     mod m {
-        #[legacy_exports];
-        fn align() -> uint { 8u }
-        fn size() -> uint { 16u }
+        pub fn align() -> uint { 8u }
+        pub fn size() -> uint { 16u }
     }
 }
 
 #[cfg(target_os = "win32")]
 mod m {
-    #[legacy_exports];
     #[cfg(target_arch = "x86")]
-    mod m {
-        #[legacy_exports];
-        fn align() -> uint { 8u }
-        fn size() -> uint { 16u }
+    pub mod m {
+        pub fn align() -> uint { 8u }
+        pub fn size() -> uint { 16u }
     }
 }
 
diff --git a/src/test/run-pass/rt-sched-1.rs b/src/test/run-pass/rt-sched-1.rs
index 95fbf4c9ef0..6922156f5ef 100644
--- a/src/test/run-pass/rt-sched-1.rs
+++ b/src/test/run-pass/rt-sched-1.rs
@@ -19,11 +19,10 @@ type task = *libc::c_void;
 type closure = *libc::c_void;
 
 extern mod rustrt {
-    #[legacy_exports];
-    fn rust_new_sched(num_threads: libc::uintptr_t) -> sched_id;
-    fn rust_get_sched_id() -> sched_id;
-    fn rust_new_task_in_sched(id: sched_id) -> task_id;
-    fn start_task(id: task_id, f: closure);
+    pub fn rust_new_sched(num_threads: libc::uintptr_t) -> sched_id;
+    pub fn rust_get_sched_id() -> sched_id;
+    pub fn rust_new_task_in_sched(id: sched_id) -> task_id;
+    pub fn start_task(id: task_id, f: closure);
 }
 
 fn main() {
diff --git a/src/test/run-pass/self-shadowing-import.rs b/src/test/run-pass/self-shadowing-import.rs
index 86e6b7f0f50..22562d65e37 100644
--- a/src/test/run-pass/self-shadowing-import.rs
+++ b/src/test/run-pass/self-shadowing-import.rs
@@ -11,20 +11,16 @@
 // except according to those terms.
 
 mod a {
-    #[legacy_exports];
-    mod b {
-        #[legacy_exports];
-        mod a {
-            #[legacy_exports];
-            fn foo() -> int { return 1; }
+    pub mod b {
+        pub mod a {
+            pub fn foo() -> int { return 1; }
         }
     }
 }
 
 mod c {
-    #[legacy_exports];
     use a::b::a;
-    fn bar() { assert (a::foo() == 1); }
+    pub fn bar() { assert (a::foo() == 1); }
 }
 
 fn main() { c::bar(); }
diff --git a/src/test/run-pass/static-method-xcrate.rs b/src/test/run-pass/static-method-xcrate.rs
index d19398456b6..ca42742a576 100644
--- a/src/test/run-pass/static-method-xcrate.rs
+++ b/src/test/run-pass/static-method-xcrate.rs
@@ -10,7 +10,6 @@
 
 // xfail-fast
 // aux-build:static-methods-crate.rs
-#[legacy_exports];
 
 extern mod static_methods_crate;
 use static_methods_crate::read;
diff --git a/src/test/run-pass/struct-return.rs b/src/test/run-pass/struct-return.rs
index e09150eac76..07855181501 100644
--- a/src/test/run-pass/struct-return.rs
+++ b/src/test/run-pass/struct-return.rs
@@ -13,9 +13,8 @@ struct Floats { a: f64, b: u8, c: f64 }
 
 #[nolink]
 extern mod rustrt {
-    #[legacy_exports];
-    fn debug_abi_1(++q: Quad) -> Quad;
-    fn debug_abi_2(++f: Floats) -> Floats;
+    pub fn debug_abi_1(++q: Quad) -> Quad;
+    pub fn debug_abi_2(++f: Floats) -> Floats;
 }
 
 fn test1() {
diff --git a/src/test/run-pass/syntax-extension-source-utils.rs b/src/test/run-pass/syntax-extension-source-utils.rs
index 413edcdb13a..af1b20eb49d 100644
--- a/src/test/run-pass/syntax-extension-source-utils.rs
+++ b/src/test/run-pass/syntax-extension-source-utils.rs
@@ -10,18 +10,15 @@
 
 // This test is brittle!
 // xfail-pretty - the pretty tests lose path information, breaking include!
-#[legacy_exports];
 
-mod m1 {
-    #[legacy_exports];
-    mod m2 {
-        #[legacy_exports];
-        fn where_am_i() -> ~str { (module_path!()).to_owned() }
+pub mod m1 {
+    pub mod m2 {
+        pub fn where_am_i() -> ~str { (module_path!()).to_owned() }
     }
 }
 
 fn main() {
-    assert(line!() == 24);
+    assert(line!() == 21);
     assert(col!() == 11);
     assert(file!().to_owned().ends_with(~"syntax-extension-source-utils.rs"));
     assert(stringify!((2*3) + 5).to_owned() == ~"( 2 * 3 ) + 5");
diff --git a/src/test/run-pass/tag-exports.rs b/src/test/run-pass/tag-exports.rs
index ff4f5bfe62f..124afc4364f 100644
--- a/src/test/run-pass/tag-exports.rs
+++ b/src/test/run-pass/tag-exports.rs
@@ -13,21 +13,10 @@
 use alder::*;
 
 mod alder {
-    #[legacy_exports];
-  export burnside;
-  export couch;
-  export everett;
-  export flanders;
-  export irving;
-  export johnson;
-  export kearney;
-  export marshall;
-
-  enum burnside { couch, davis }
-  enum everett { flanders, glisan, hoyt }
-  enum irving { johnson, kearney, lovejoy }
-  enum marshall { northrup, overton }
-
+    pub enum burnside { couch, davis }
+    pub enum everett { flanders, glisan, hoyt }
+    pub enum irving { johnson, kearney, lovejoy }
+    pub enum marshall { northrup, overton }
 }
 
 fn main() {
diff --git a/src/test/run-pass/type-in-nested-module.rs b/src/test/run-pass/type-in-nested-module.rs
index 32275398ba5..bb7b9aa46eb 100644
--- a/src/test/run-pass/type-in-nested-module.rs
+++ b/src/test/run-pass/type-in-nested-module.rs
@@ -11,12 +11,10 @@
 
 
 mod a {
-    #[legacy_exports];
-    mod b {
-        #[legacy_exports];
-        type t = int;
+    pub mod b {
+        pub type t = int;
 
-        fn foo() { let x: t = 10; }
+        pub fn foo() { let x: t = 10; }
     }
 }
 
diff --git a/src/test/run-pass/use-import-export.rs b/src/test/run-pass/use-import-export.rs
index e273fcb3235..70c21c6ac4f 100644
--- a/src/test/run-pass/use-import-export.rs
+++ b/src/test/run-pass/use-import-export.rs
@@ -11,13 +11,11 @@
 
 
 mod foo {
-    #[legacy_exports];
-    fn x() -> int { return 1; }
+    pub fn x() -> int { return 1; }
 }
 
 mod bar {
-    #[legacy_exports];
-    fn y() -> int { return 1; }
+    pub fn y() -> int { return 1; }
 }
 
 fn main() { foo::x(); bar::y(); }
diff --git a/src/test/run-pass/use-mod.rs b/src/test/run-pass/use-mod.rs
index dc09d6b4448..bd273e64b1a 100644
--- a/src/test/run-pass/use-mod.rs
+++ b/src/test/run-pass/use-mod.rs
@@ -13,10 +13,8 @@
 use mod a::b;
 
 mod a {
-    #[legacy_exports];
-    mod b {
-        #[legacy_exports];
-        fn f() {}
+    pub mod b {
+        pub fn f() {}
     }
 }
 
diff --git a/src/test/run-pass/use.rs b/src/test/run-pass/use.rs
index 0afac13303d..5f57e1c1475 100644
--- a/src/test/run-pass/use.rs
+++ b/src/test/run-pass/use.rs
@@ -19,9 +19,8 @@ extern mod bar(name = "core", vers = "0.6");
 use core::str;
 use x = zed::str;
 mod baz {
-    #[legacy_exports];
-    use bar::str;
-    use x = core::str;
+    pub use bar::str;
+    pub use x = core::str;
 }
 
 fn main() { }
diff --git a/src/test/run-pass/warn-ctypes-inhibit.rs b/src/test/run-pass/warn-ctypes-inhibit.rs
index 6018f802b76..91617fb1c6d 100644
--- a/src/test/run-pass/warn-ctypes-inhibit.rs
+++ b/src/test/run-pass/warn-ctypes-inhibit.rs
@@ -14,9 +14,8 @@
 
 #[nolink]
 extern mod libc {
-    #[legacy_exports];
-    fn malloc(size: int) -> *u8;
+    pub fn malloc(size: int) -> *u8;
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/x86stdcall2.rs b/src/test/run-pass/x86stdcall2.rs
index 31cf6233430..88d5d659169 100644
--- a/src/test/run-pass/x86stdcall2.rs
+++ b/src/test/run-pass/x86stdcall2.rs
@@ -17,10 +17,10 @@ type BOOL = u8;
 #[cfg(target_os = "win32")]
 #[abi = "stdcall"]
 extern mod kernel32 {
-    #[legacy_exports];
-       fn GetProcessHeap() -> HANDLE;
-       fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID;
-       fn HeapFree(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID) -> BOOL;
+    pub fn GetProcessHeap() -> HANDLE;
+    pub fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T)
+                  -> LPVOID;
+    pub fn HeapFree(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID) -> BOOL;
 }