Skip to content

Commit 2df07dd

Browse files
committed
Fix implicit leaks of imports throughout libraries
Also touch up use of 'pub' and move some tests around so the tested functions don't have to be 'pub'
1 parent f2837fa commit 2df07dd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+489
-289
lines changed

src/libcore/hashmap.rs

+6-7
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@
1010

1111
//! Sendable hash maps.
1212
13-
use container::{Container, Mutable, Map, Set};
14-
use cmp::Eq;
15-
use hash::Hash;
16-
use to_bytes::IterBytes;
17-
1813
/// Open addressing with linear probing.
1914
pub mod linear {
20-
use super::*;
15+
use container::{Container, Mutable, Map, Set};
16+
use cmp::Eq;
17+
use hash::Hash;
18+
use to_bytes::IterBytes;
2119
use iter::BaseIter;
2220
use hash::Hash;
2321
use iter;
@@ -752,7 +750,8 @@ mod test_map {
752750

753751
#[test]
754752
mod test_set {
755-
use super::*;
753+
use hashmap::linear;
754+
use container::{Container, Mutable, Map, Set};
756755
use vec;
757756

758757
#[test]

src/libcore/os.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -1021,10 +1021,10 @@ extern {
10211021
pub mod consts {
10221022
10231023
#[cfg(unix)]
1024-
use os::consts::unix::*;
1024+
pub use os::consts::unix::*;
10251025
10261026
#[cfg(windows)]
1027-
use os::consts::windows::*;
1027+
pub use os::consts::windows::*;
10281028
10291029
pub mod unix {
10301030
pub const FAMILY: &str = "unix";
@@ -1035,19 +1035,19 @@ pub mod consts {
10351035
}
10361036
10371037
#[cfg(target_os = "macos")]
1038-
use os::consts::macos::*;
1038+
pub use os::consts::macos::*;
10391039
10401040
#[cfg(target_os = "freebsd")]
1041-
use os::consts::freebsd::*;
1041+
pub use os::consts::freebsd::*;
10421042
10431043
#[cfg(target_os = "linux")]
1044-
use os::consts::linux::*;
1044+
pub use os::consts::linux::*;
10451045
10461046
#[cfg(target_os = "android")]
1047-
use os::consts::android::*;
1047+
pub use os::consts::android::*;
10481048
10491049
#[cfg(target_os = "win32")]
1050-
use os::consts::win32::*;
1050+
pub use os::consts::win32::*;
10511051
10521052
pub mod macos {
10531053
pub const SYSNAME: &str = "macos";
@@ -1086,13 +1086,13 @@ pub mod consts {
10861086
10871087
10881088
#[cfg(target_arch = "x86")]
1089-
use os::consts::x86::*;
1089+
pub use os::consts::x86::*;
10901090
10911091
#[cfg(target_arch = "x86_64")]
1092-
use os::consts::x86_64::*;
1092+
pub use os::consts::x86_64::*;
10931093
10941094
#[cfg(target_arch = "arm")]
1095-
use os::consts::arm::*;
1095+
pub use os::consts::arm::*;
10961096
10971097
pub mod x86 {
10981098
pub const ARCH: &str = "x86";

src/libcore/str.rs

+1
Original file line numberDiff line numberDiff line change
@@ -2375,6 +2375,7 @@ impl OwnedStr for ~str {
23752375
#[cfg(test)]
23762376
mod tests {
23772377
use char;
2378+
use option::Some;
23782379
use debug;
23792380
use libc::c_char;
23802381
use libc;

src/libcore/vec.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1444,7 +1444,7 @@ pub fn each2<U, T>(v1: &[U], v2: &[T], f: fn(u: &U, t: &T) -> bool) {
14441444
* The total number of permutations produced is `len(v)!`. If `v` contains
14451445
* repeated elements, then some permutations are repeated.
14461446
*/
1447-
pure fn each_permutation<T:Copy>(v: &[T], put: fn(ts: &[T]) -> bool) {
1447+
pub pure fn each_permutation<T:Copy>(v: &[T], put: fn(ts: &[T]) -> bool) {
14481448
let ln = len(v);
14491449
if ln <= 1 {
14501450
put(v);
@@ -2427,6 +2427,7 @@ impl<A:Copy> iter::CopyableNonstrictIter<A> for @[A] {
24272427
mod tests {
24282428
use option::{None, Option, Some};
24292429
use option;
2430+
use sys;
24302431
use vec::*;
24312432

24322433
fn square(n: uint) -> uint { return n * n; }

src/librustc/middle/borrowck/mod.rs

+2
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ use middle::liveness;
230230
use middle::mem_categorization::*;
231231
use middle::region;
232232
use middle::ty;
233+
use middle::typeck;
233234
use middle::moves;
234235
use util::common::{indenter, stmt_set};
235236
use util::ppaux::{expr_repr, note_and_explain_region};
@@ -239,6 +240,7 @@ use core::cmp;
239240
use core::dvec::DVec;
240241
use core::io;
241242
use core::result::{Result, Ok, Err};
243+
use core::to_bytes;
242244
use std::list::{List, Cons, Nil};
243245
use std::list;
244246
use std::oldmap::{HashMap, Set};

src/librustc/middle/trans/_match.rs

+11-4
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,10 @@
145145
use core::prelude::*;
146146

147147
use back::abi;
148-
use lib::llvm::llvm;
149-
use lib::llvm::{ValueRef, BasicBlockRef};
148+
use lib;
149+
use lib::llvm::{llvm, ValueRef, BasicBlockRef};
150150
use middle::const_eval;
151+
use middle::borrowck::root_map_key;
151152
use middle::pat_util::*;
152153
use middle::resolve::DefMap;
153154
use middle::trans::base::*;
@@ -156,20 +157,26 @@ use middle::trans::callee;
156157
use middle::trans::common::*;
157158
use middle::trans::consts;
158159
use middle::trans::controlflow;
160+
use middle::trans::datum;
159161
use middle::trans::datum::*;
160162
use middle::trans::expr::Dest;
161163
use middle::trans::expr;
162164
use middle::trans::glue;
165+
use middle::trans::tvec;
166+
use middle::trans::type_of;
167+
use middle::ty;
163168
use util::common::indenter;
164169

165170
use core::dvec::DVec;
166171
use core::dvec;
172+
use core::libc::c_ulonglong;
167173
use std::oldmap::HashMap;
168174
use syntax::ast::def_id;
169175
use syntax::ast;
170-
use syntax::ast_util::{dummy_sp, path_to_ident};
176+
use syntax::ast::ident;
177+
use syntax::ast_util::path_to_ident;
171178
use syntax::ast_util;
172-
use syntax::codemap::span;
179+
use syntax::codemap::{span, dummy_sp};
173180
use syntax::print::pprust::pat_to_str;
174181

175182
// An option identifying a literal: either a unit-like struct or an

src/librustc/middle/trans/base.rs

+5
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ use middle::borrowck::RootInfo;
4444
use middle::pat_util::*;
4545
use middle::resolve;
4646
use middle::trans::_match;
47+
use middle::trans::base;
4748
use middle::trans::build::*;
4849
use middle::trans::callee;
4950
use middle::trans::common::*;
@@ -56,12 +57,15 @@ use middle::trans::foreign;
5657
use middle::trans::glue;
5758
use middle::trans::inline;
5859
use middle::trans::machine;
60+
use middle::trans::machine::llsize_of;
5961
use middle::trans::meth;
6062
use middle::trans::monomorphize;
6163
use middle::trans::reachable;
6264
use middle::trans::shape::*;
6365
use middle::trans::tvec;
66+
use middle::trans::type_of;
6467
use middle::trans::type_of::*;
68+
use middle::ty;
6569
use middle::ty::arg;
6670
use util::common::indenter;
6771
use util::ppaux::{ty_to_str, ty_to_short_str};
@@ -77,6 +81,7 @@ use core::option;
7781
use core::uint;
7882
use std::oldmap::HashMap;
7983
use std::{oldmap, time, list};
84+
use syntax::ast::ident;
8085
use syntax::ast_map::{path, path_elt_to_str, path_mod, path_name};
8186
use syntax::ast_util::{def_id_of_def, local_def, path_to_ident};
8287
use syntax::attr;

src/librustc/middle/trans/build.rs

+4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111

1212
use codemap::span;
13+
use lib;
1314
use lib::llvm::llvm;
1415
use lib::llvm::{CallConv, TypeKind, AtomicBinOp, AtomicOrdering};
1516
use lib::llvm::{Opcode, IntPredicate, RealPredicate, True, False};
@@ -18,9 +19,12 @@ use libc::{c_uint, c_int, c_ulonglong};
1819
use middle::trans::common::*;
1920
use middle::trans::machine::llsize_of_real;
2021

22+
use core::prelude::*;
2123
use core::cast::transmute;
2224
use core::cast;
2325
use core::libc;
26+
use core::option::Some;
27+
use core::ptr;
2428
use core::str;
2529
use core::vec;
2630
use std::oldmap::HashMap;

src/librustc/middle/trans/cabi.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ use middle::trans::base::*;
1313
use middle::trans::build::*;
1414
use middle::trans::common::*;
1515

16+
use core::libc::c_uint;
17+
use core::option;
18+
use core::vec;
19+
1620
pub trait ABIInfo {
1721
fn compute_info(&self,
1822
atys: &[TypeRef],
@@ -28,7 +32,7 @@ pub struct LLVMType {
2832
pub struct FnType {
2933
arg_tys: ~[LLVMType],
3034
ret_ty: LLVMType,
31-
attrs: ~[Option<Attribute>],
35+
attrs: ~[option::Option<Attribute>],
3236
sret: bool
3337
}
3438

@@ -93,7 +97,7 @@ pub impl FnType {
9397
llargbundle: ValueRef, llretval: ValueRef) {
9498
for vec::eachi(self.attrs) |i, a| {
9599
match *a {
96-
Some(attr) => {
100+
option::Some(attr) => {
97101
unsafe {
98102
llvm::LLVMAddInstrAttribute(
99103
llretval, (i + 1u) as c_uint,

src/librustc/middle/trans/cabi_x86_64.rs

+8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ use lib::llvm::struct_tys;
1818
use middle::trans::common::*;
1919
use middle::trans::cabi::*;
2020

21+
use core::cmp;
22+
use core::libc::c_uint;
23+
use core::option;
24+
use core::option::Option;
25+
use core::ptr;
26+
use core::uint;
27+
use core::vec;
28+
2129
enum x86_64_reg_class {
2230
no_class,
2331
integer_class,

src/librustc/middle/trans/callee.rs

+15-3
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,33 @@
1818

1919
use core::prelude::*;
2020

21-
use lib::llvm::ValueRef;
22-
use middle::trans::base::{get_item_val, trans_external_path};
21+
use back::abi;
22+
use driver::session;
23+
use lib;
24+
use lib::llvm::{ValueRef, TypeRef};
25+
use lib::llvm::llvm;
26+
use metadata::csearch;
27+
use middle::trans::base;
28+
use middle::trans::base::*;
2329
use middle::trans::build::*;
2430
use middle::trans::callee;
2531
use middle::trans::closure;
26-
use middle::trans::common::{block, node_id_type_params};
32+
use middle::trans::common;
33+
use middle::trans::common::*;
2734
use middle::trans::datum::*;
2835
use middle::trans::datum::Datum;
36+
use middle::trans::expr;
37+
use middle::trans::glue;
2938
use middle::trans::inline;
3039
use middle::trans::meth;
3140
use middle::trans::monomorphize;
41+
use middle::trans::type_of;
42+
use middle::ty;
3243
use middle::typeck;
3344
use util::common::indenter;
3445

3546
use syntax::ast;
47+
use syntax::ast_map;
3648
use syntax::print::pprust::{expr_to_str, stmt_to_str, path_to_str};
3749
use syntax::visit;
3850

src/librustc/middle/trans/closure.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ use core::prelude::*;
1313
use back::abi;
1414
use back::link::{mangle_internal_name_by_path_and_seq};
1515
use back::link::{mangle_internal_name_by_path};
16-
use lib::llvm::llvm;
17-
use lib::llvm::{ValueRef, TypeRef};
16+
use lib::llvm::{llvm, ValueRef, TypeRef};
1817
use middle::moves;
1918
use middle::trans::base::*;
2019
use middle::trans::build::*;
@@ -25,6 +24,7 @@ use middle::trans::expr;
2524
use middle::trans::glue;
2625
use middle::trans::machine;
2726
use middle::trans::type_of::*;
27+
use middle::ty;
2828
use util::ppaux::ty_to_str;
2929

3030
use core::libc::c_uint;
@@ -33,6 +33,7 @@ use syntax::ast;
3333
use syntax::ast_map::{path, path_mod, path_name};
3434
use syntax::ast_util;
3535
use syntax::codemap::span;
36+
use syntax::parse::token::special_idents;
3637
use syntax::print::pprust::expr_to_str;
3738

3839
// ___Good to know (tm)__________________________________________________
@@ -185,7 +186,7 @@ pub fn allocate_cbox(bcx: block, sigil: ast::Sigil, cdata_ty: ty::t)
185186
}
186187
ast::BorrowedSigil => {
187188
let cbox_ty = tuplify_box_ty(tcx, cdata_ty);
188-
let llbox = base::alloc_ty(bcx, cbox_ty);
189+
let llbox = alloc_ty(bcx, cbox_ty);
189190
nuke_ref_count(bcx, llbox);
190191
rslt(bcx, llbox)
191192
}
@@ -342,7 +343,7 @@ pub fn load_environment(fcx: fn_ctxt,
342343
let bcx = raw_block(fcx, false, llloadenv);
343344

344345
// Load a pointer to the closure data, skipping over the box header:
345-
let llcdata = base::opaque_box_body(bcx, cdata_ty, fcx.llenv);
346+
let llcdata = opaque_box_body(bcx, cdata_ty, fcx.llenv);
346347

347348
// Populate the upvars from the environment.
348349
let mut i = 0u;

src/librustc/middle/trans/common.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ pub fn BuilderRef_res(B: BuilderRef) -> BuilderRef_res {
157157
}
158158
}
159159

160-
type ExternMap = HashMap<@str, ValueRef>;
160+
pub type ExternMap = HashMap<@str, ValueRef>;
161161

162162
// Crate context. Every crate we compile has one of these.
163163
pub struct CrateContext {

src/librustc/middle/trans/consts.rs

+4
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,18 @@
1010

1111
use core::prelude::*;
1212

13+
use lib::llvm::{llvm, ValueRef, True, TypeRef, False};
1314
use middle::const_eval;
15+
use middle::trans::base;
1416
use middle::trans::base::get_insn_ctxt;
1517
use middle::trans::common::*;
1618
use middle::trans::consts;
1719
use middle::trans::expr;
1820
use middle::trans::machine;
21+
use middle::trans::type_of;
1922
use middle::ty;
2023

24+
use core::libc::c_uint;
2125
use syntax::{ast, ast_util, codemap, ast_map};
2226

2327
pub fn const_lit(cx: @CrateContext, e: @ast::expr, lit: ast::lit)

0 commit comments

Comments
 (0)