Skip to content

librustc: Make unqualified identifier searches terminate at the nearest ... #4345

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/libcargo/pgp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// except according to those terms.

use core::os;
use core::path::Path;
use core::run;

fn gpgv(args: ~[~str]) -> { status: int, out: ~str, err: ~str } {
Expand Down
10 changes: 9 additions & 1 deletion src/libcore/at_vec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
#[forbid(deprecated_pattern)];

use cast::transmute;
use kinds::Copy;
use iter;
use libc;
use option::Option;
use ptr::addr_of;
use sys;
use uint;
Expand Down Expand Up @@ -150,6 +152,10 @@ pub pure fn from_elem<T: Copy>(n_elts: uint, t: T) -> @[T] {

#[cfg(notest)]
pub mod traits {
use at_vec::append;
use kinds::Copy;
use ops::Add;

pub impl<T: Copy> @[T] : Add<&[const T],@[T]> {
#[inline(always)]
pure fn add(&self, rhs: & &self/[const T]) -> @[T] {
Expand All @@ -162,8 +168,10 @@ pub mod traits {
pub mod traits {}

pub mod raw {
use at_vec::{rusti, rustrt};
use at_vec::{capacity, rusti, rustrt};
use cast::transmute;
use libc;
use ptr::addr_of;
use ptr;
use sys;
use uint;
Expand Down
1 change: 1 addition & 0 deletions src/libcore/bool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
use bool;
use cmp;
use cmp::Eq;
use option::{None, Option, Some};

/// Negation / inverse
pub pure fn not(v: bool) -> bool { !v }
Expand Down
2 changes: 2 additions & 0 deletions src/libcore/cast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ pub unsafe fn copy_lifetime_vec<S,T>(_ptr: &a/[S], ptr: &T) -> &a/T {

#[cfg(test)]
pub mod tests {
use cast::{bump_box_refcount, reinterpret_cast, transmute};

#[test]
pub fn test_reinterpret_cast() {
assert 1u == unsafe { reinterpret_cast(&1) };
Expand Down
1 change: 1 addition & 0 deletions src/libcore/char.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

use char;
use cmp::Eq;
use option::{None, Option, Some};
use str;
use u32;
use uint;
Expand Down
1 change: 1 addition & 0 deletions src/libcore/condition.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

use prelude::*;
use task;

// helper for transmutation, shown below.
Expand Down
5 changes: 5 additions & 0 deletions src/libcore/core.rc
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ Implicitly, all crates behave as if they included the following prologue:
#[warn(vecs_implicitly_copyable)];
#[deny(non_camel_case_types)];

/* The Prelude. */

pub mod prelude;

/* Primitive types */

Expand Down Expand Up @@ -243,6 +246,8 @@ pub mod core {

pub use cmp;
pub use condition;
pub use option;
pub use kinds;
}


Expand Down
10 changes: 7 additions & 3 deletions src/libcore/dlist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ Do not use ==, !=, <, etc on doubly-linked lists -- it may not terminate.
#[forbid(deprecated_mode)];
#[forbid(deprecated_pattern)];

use kinds::Copy;
use managed;
use option::{None, Option, Some};
use option;
use vec;

Expand Down Expand Up @@ -94,13 +96,13 @@ impl<T> DListNode<T> {
}

/// Creates a new dlist node with the given data.
pure fn new_dlist_node<T>(data: T) -> DListNode<T> {
pub pure fn new_dlist_node<T>(data: T) -> DListNode<T> {
DListNode(@{data: move data, mut linked: false,
mut prev: None, mut next: None})
}

/// Creates a new, empty dlist.
pure fn DList<T>() -> DList<T> {
pub pure fn DList<T>() -> DList<T> {
DList_(@{mut size: 0, mut hd: None, mut tl: None})
}

Expand All @@ -120,7 +122,7 @@ pub fn from_vec<T: Copy>(vec: &[T]) -> DList<T> {

/// Produce a list from a list of lists, leaving no elements behind in the
/// input. O(number of sub-lists).
fn concat<T>(lists: DList<DList<T>>) -> DList<T> {
pub fn concat<T>(lists: DList<DList<T>>) -> DList<T> {
let result = DList();
while !lists.is_empty() {
result.append(lists.pop().get());
Expand Down Expand Up @@ -474,7 +476,9 @@ impl<T: Copy> DList<T> {
mod tests {
#[legacy_exports];

use dlist::{DList, concat, from_vec, new_dlist_node};
use iter;
use option::{None, Some};
use vec;

#[test]
Expand Down
1 change: 1 addition & 0 deletions src/libcore/dvec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Note that recursive use is not permitted.

use cast;
use cast::reinterpret_cast;
use prelude::*;
use ptr::null;
use vec;

Expand Down
5 changes: 3 additions & 2 deletions src/libcore/either.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@

//! A type that represents one of two alternatives

use cmp;
use cmp::Eq;
use result;
use cmp;
use kinds::Copy;
use result::Result;
use result;
use vec;

/// The either type
Expand Down
2 changes: 2 additions & 0 deletions src/libcore/extfmt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ debug!("hello, %s!", "world");

use cmp::Eq;
use option::{Some, None};
use prelude::*;
use str;

/*
Expand All @@ -99,6 +100,7 @@ use str;
#[doc(hidden)]
pub mod ct {
use char;
use prelude::*;
use str;
use vec;

Expand Down
1 change: 1 addition & 0 deletions src/libcore/float.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ use cmp;
use f64;
use num;
use num::Num::from_int;
use option::{None, Option, Some};
use str;
use uint;

Expand Down
1 change: 1 addition & 0 deletions src/libcore/gc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ with destructors.
use cast;
use io;
use libc::{size_t, uintptr_t};
use option::{None, Option, Some};
use ptr;
use send_map::linear::LinearMap;
use stackwalk;
Expand Down
1 change: 1 addition & 0 deletions src/libcore/int-template.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ use from_str::FromStr;
use iter;
use num;
use num::Num::from_int;
use prelude::*;
use str;
use uint;
use vec;
Expand Down
6 changes: 3 additions & 3 deletions src/libcore/int-template/int.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ mod inst {

#[test]
fn test_overflows() {
assert (max_value > 0);
assert (min_value <= 0);
assert (min_value + max_value + 1 == 0);
assert (::int::max_value > 0);
assert (::int::min_value <= 0);
assert (::int::min_value + ::int::max_value + 1 == 0);
}
}
17 changes: 12 additions & 5 deletions src/libcore/io.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,15 @@ use libc::consts::os::posix88::*;
use libc::consts::os::extra::*;
use option;
use os;
use prelude::*;
use ptr;
use result;
use str;
use uint;
use vec;

#[allow(non_camel_case_types)] // not sure what to do about this
type fd_t = c_int;
pub type fd_t = c_int;

#[abi = "cdecl"]
extern mod rustrt {
Expand Down Expand Up @@ -452,12 +453,12 @@ impl<T: Reader, C> {base: T, cleanup: C}: Reader {
fn tell(&self) -> uint { self.base.tell() }
}

struct FILERes {
pub struct FILERes {
f: *libc::FILE,
drop { libc::fclose(self.f); }
}

fn FILERes(f: *libc::FILE) -> FILERes {
pub fn FILERes(f: *libc::FILE) -> FILERes {
FILERes {
f: f
}
Expand Down Expand Up @@ -629,12 +630,12 @@ impl fd_t: Writer {
}
}

struct FdRes {
pub struct FdRes {
fd: fd_t,
drop { libc::close(self.fd); }
}

fn FdRes(fd: fd_t) -> FdRes {
pub fn FdRes(fd: fd_t) -> FdRes {
FdRes {
fd: fd
}
Expand Down Expand Up @@ -1028,7 +1029,10 @@ pub fn read_whole_file(file: &Path) -> Result<~[u8], ~str> {
// fsync related

pub mod fsync {
use io::{FILERes, FdRes, fd_t};
use kinds::Copy;
use libc;
use option::Option;
use option;
use os;

Expand Down Expand Up @@ -1113,8 +1117,11 @@ pub mod fsync {

#[cfg(test)]
mod tests {
use debug;
use i32;
use io::{BytesWriter, SeekCur, SeekEnd, SeekSet};
use io;
use path::Path;
use result;
use str;
use u64;
Expand Down
3 changes: 3 additions & 0 deletions src/libcore/iter-trait.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@
#[forbid(deprecated_pattern)];

use cmp::{Eq, Ord};
use iter::BaseIter;
use iter;
use kinds::Copy;
use option::Option;

use self::inst::{IMPL_T, EACH, SIZE_HINT};

Expand Down
1 change: 1 addition & 0 deletions src/libcore/iter-trait/dlist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
mod inst {
use dlist;
use managed;
use option::{Option, Some};
use option;

#[allow(non_camel_case_types)]
Expand Down
1 change: 1 addition & 0 deletions src/libcore/iter-trait/dvec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

mod inst {
use dvec;
use option::{Option, Some};

#[allow(non_camel_case_types)]
pub type IMPL_T<A> = dvec::DVec<A>;
Expand Down
4 changes: 3 additions & 1 deletion src/libcore/iter-trait/option.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
// except according to those terms.

mod inst {
use option::{None, Option, Some};

#[allow(non_camel_case_types)]
pub type IMPL_T<A> = Option<A>;

Expand All @@ -25,4 +27,4 @@ mod inst {
Some(_) => Some(1)
}
}
}
}
2 changes: 2 additions & 0 deletions src/libcore/iter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ The iteration traits and common implementation
#[forbid(deprecated_pattern)];

use cmp::{Eq, Ord};
use kinds::Copy;
use option::{None, Option, Some};
use vec;

/// A function used to initialize the elements of a sequence
Expand Down
Loading