librustc: Stop reexporting the standard modules from prelude.
This commit is contained in:
parent
4e3d4b36dc
commit
206ab89629
598 changed files with 1873 additions and 455 deletions
|
@ -1840,6 +1840,7 @@ is bounds-checked at run-time. When the check fails, it will put the
|
||||||
task in a _failing state_.
|
task in a _failing state_.
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
# use std::task;
|
||||||
# do task::spawn_unlinked {
|
# do task::spawn_unlinked {
|
||||||
|
|
||||||
([1, 2, 3, 4])[0];
|
([1, 2, 3, 4])[0];
|
||||||
|
@ -2168,7 +2169,7 @@ fn ten_times(f: &fn(int)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ten_times(|j| io::println(fmt!("hello, %d", j)));
|
ten_times(|j| println(fmt!("hello, %d", j)));
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
|
@ -2189,7 +2190,7 @@ An example:
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
|
|
||||||
while i < 10 {
|
while i < 10 {
|
||||||
io::println("hello\n");
|
println("hello\n");
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
}
|
}
|
||||||
~~~~
|
~~~~
|
||||||
|
@ -2335,6 +2336,7 @@ for v.each |e| {
|
||||||
An example of a for loop over a series of integers:
|
An example of a for loop over a series of integers:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
# use std::uint;
|
||||||
# fn bar(b:uint) { }
|
# fn bar(b:uint) { }
|
||||||
for uint::range(0, 256) |i| {
|
for uint::range(0, 256) |i| {
|
||||||
bar(i);
|
bar(i);
|
||||||
|
@ -2798,6 +2800,7 @@ the vtable pointer for the `T` implementation of `R`, and the pointer value of `
|
||||||
An example of an object type:
|
An example of an object type:
|
||||||
|
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
# use std::int;
|
||||||
trait Printable {
|
trait Printable {
|
||||||
fn to_str(&self) -> ~str;
|
fn to_str(&self) -> ~str;
|
||||||
}
|
}
|
||||||
|
@ -2807,7 +2810,7 @@ impl Printable for int {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print(a: @Printable) {
|
fn print(a: @Printable) {
|
||||||
io::println(a.to_str());
|
println(a.to_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
|
@ -149,7 +149,9 @@ A type with the same functionality as owned boxes can be implemented by
|
||||||
wrapping `malloc` and `free`:
|
wrapping `malloc` and `free`:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
use std::cast;
|
||||||
use std::libc::{c_void, size_t, malloc, free};
|
use std::libc::{c_void, size_t, malloc, free};
|
||||||
|
use std::ptr;
|
||||||
use std::unstable::intrinsics;
|
use std::unstable::intrinsics;
|
||||||
use std::util;
|
use std::util;
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,7 @@ should interleave the output in vaguely random order.
|
||||||
~~~
|
~~~
|
||||||
# use std::io::print;
|
# use std::io::print;
|
||||||
# use std::task::spawn;
|
# use std::task::spawn;
|
||||||
|
# use std::int;
|
||||||
|
|
||||||
for int::range(0, 20) |child_task_number| {
|
for int::range(0, 20) |child_task_number| {
|
||||||
do spawn {
|
do spawn {
|
||||||
|
@ -236,6 +237,7 @@ Instead we can use a `SharedChan`, a type that allows a single
|
||||||
~~~
|
~~~
|
||||||
# use std::task::spawn;
|
# use std::task::spawn;
|
||||||
# use std::comm::{stream, SharedChan};
|
# use std::comm::{stream, SharedChan};
|
||||||
|
# use std::uint;
|
||||||
|
|
||||||
let (port, chan) = stream();
|
let (port, chan) = stream();
|
||||||
let chan = SharedChan::new(chan);
|
let chan = SharedChan::new(chan);
|
||||||
|
@ -269,6 +271,7 @@ might look like the example below.
|
||||||
~~~
|
~~~
|
||||||
# use std::task::spawn;
|
# use std::task::spawn;
|
||||||
# use std::comm::stream;
|
# use std::comm::stream;
|
||||||
|
# use std::vec;
|
||||||
|
|
||||||
// Create a vector of ports, one for each child task
|
// Create a vector of ports, one for each child task
|
||||||
let ports = do vec::from_fn(3) |init_val| {
|
let ports = do vec::from_fn(3) |init_val| {
|
||||||
|
@ -310,6 +313,8 @@ the future needs to be mutable so that it can save the result for next time `get
|
||||||
Here is another example showing how futures allow you to background computations. The workload will
|
Here is another example showing how futures allow you to background computations. The workload will
|
||||||
be distributed on the available cores.
|
be distributed on the available cores.
|
||||||
~~~
|
~~~
|
||||||
|
# use std::vec;
|
||||||
|
# use std::uint;
|
||||||
fn partial_sum(start: uint) -> f64 {
|
fn partial_sum(start: uint) -> f64 {
|
||||||
let mut local_sum = 0f64;
|
let mut local_sum = 0f64;
|
||||||
for uint::range(start*100000, (start+1)*100000) |num| {
|
for uint::range(start*100000, (start+1)*100000) |num| {
|
||||||
|
@ -343,6 +348,9 @@ acts as a reference to the shared data and only this reference is shared and clo
|
||||||
Here is a small example showing how to use ARCs. We wish to run concurrently several computations on
|
Here is a small example showing how to use ARCs. We wish to run concurrently several computations on
|
||||||
a single large vector of floats. Each task needs the full vector to perform its duty.
|
a single large vector of floats. Each task needs the full vector to perform its duty.
|
||||||
~~~
|
~~~
|
||||||
|
# use std::vec;
|
||||||
|
# use std::uint;
|
||||||
|
# use std::rand;
|
||||||
use extra::arc::ARC;
|
use extra::arc::ARC;
|
||||||
|
|
||||||
fn pnorm(nums: &~[float], p: uint) -> float {
|
fn pnorm(nums: &~[float], p: uint) -> float {
|
||||||
|
@ -350,7 +358,7 @@ fn pnorm(nums: &~[float], p: uint) -> float {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
|
let numbers = vec::from_fn(1000000, |_| rand::random::<float>());
|
||||||
println(fmt!("Inf-norm = %?", numbers.max()));
|
println(fmt!("Inf-norm = %?", numbers.max()));
|
||||||
|
|
||||||
let numbers_arc = ARC(numbers);
|
let numbers_arc = ARC(numbers);
|
||||||
|
@ -373,12 +381,16 @@ at the power given as argument and takes the inverse power of this value). The A
|
||||||
created by the line
|
created by the line
|
||||||
~~~
|
~~~
|
||||||
# use extra::arc::ARC;
|
# use extra::arc::ARC;
|
||||||
# let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
|
# use std::vec;
|
||||||
|
# use std::rand;
|
||||||
|
# let numbers = vec::from_fn(1000000, |_| rand::random::<float>());
|
||||||
let numbers_arc=ARC(numbers);
|
let numbers_arc=ARC(numbers);
|
||||||
~~~
|
~~~
|
||||||
and a clone of it is sent to each task
|
and a clone of it is sent to each task
|
||||||
~~~
|
~~~
|
||||||
# use extra::arc::ARC;
|
# use extra::arc::ARC;
|
||||||
|
# use std::vec;
|
||||||
|
# use std::rand;
|
||||||
# let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
|
# let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
|
||||||
# let numbers_arc = ARC(numbers);
|
# let numbers_arc = ARC(numbers);
|
||||||
# let (port, chan) = stream();
|
# let (port, chan) = stream();
|
||||||
|
@ -389,6 +401,8 @@ copying only the wrapper and not its contents.
|
||||||
Each task recovers the underlying data by
|
Each task recovers the underlying data by
|
||||||
~~~
|
~~~
|
||||||
# use extra::arc::ARC;
|
# use extra::arc::ARC;
|
||||||
|
# use std::vec;
|
||||||
|
# use std::rand;
|
||||||
# let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
|
# let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
|
||||||
# let numbers_arc=ARC(numbers);
|
# let numbers_arc=ARC(numbers);
|
||||||
# let (port, chan) = stream();
|
# let (port, chan) = stream();
|
||||||
|
@ -416,6 +430,7 @@ of all tasks are intertwined: if one fails, so do all the others.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# use std::task::spawn;
|
# use std::task::spawn;
|
||||||
|
# use std::task;
|
||||||
# fn do_some_work() { loop { task::yield() } }
|
# fn do_some_work() { loop { task::yield() } }
|
||||||
# do task::try {
|
# do task::try {
|
||||||
// Create a child task that fails
|
// Create a child task that fails
|
||||||
|
@ -437,6 +452,7 @@ field (representing a successful result) or an `Err` result (representing
|
||||||
termination with an error).
|
termination with an error).
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
# use std::task;
|
||||||
# fn some_condition() -> bool { false }
|
# fn some_condition() -> bool { false }
|
||||||
# fn calculate_result() -> int { 0 }
|
# fn calculate_result() -> int { 0 }
|
||||||
let result: Result<int, ()> = do task::try {
|
let result: Result<int, ()> = do task::try {
|
||||||
|
@ -479,6 +495,7 @@ By default, task failure is _bidirectionally linked_, which means that if
|
||||||
either task fails, it kills the other one.
|
either task fails, it kills the other one.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
# use std::task;
|
||||||
# fn sleep_forever() { loop { task::yield() } }
|
# fn sleep_forever() { loop { task::yield() } }
|
||||||
# do task::try {
|
# do task::try {
|
||||||
do spawn {
|
do spawn {
|
||||||
|
@ -501,6 +518,7 @@ before returning. Hence:
|
||||||
~~~
|
~~~
|
||||||
# use std::comm::{stream, Chan, Port};
|
# use std::comm::{stream, Chan, Port};
|
||||||
# use std::task::{spawn, try};
|
# use std::task::{spawn, try};
|
||||||
|
# use std::task;
|
||||||
# fn sleep_forever() { loop { task::yield() } }
|
# fn sleep_forever() { loop { task::yield() } }
|
||||||
# do task::try {
|
# do task::try {
|
||||||
let (receiver, sender): (Port<int>, Chan<int>) = stream();
|
let (receiver, sender): (Port<int>, Chan<int>) = stream();
|
||||||
|
@ -528,6 +546,7 @@ Supervised task failure propagates across multiple generations even if
|
||||||
an intermediate generation has already exited:
|
an intermediate generation has already exited:
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
# use std::task;
|
||||||
# fn sleep_forever() { loop { task::yield() } }
|
# fn sleep_forever() { loop { task::yield() } }
|
||||||
# fn wait_for_a_while() { for 1000.times { task::yield() } }
|
# fn wait_for_a_while() { for 1000.times { task::yield() } }
|
||||||
# do task::try::<int> {
|
# do task::try::<int> {
|
||||||
|
@ -546,6 +565,7 @@ Finally, tasks can be configured to not propagate failure to each
|
||||||
other at all, using `task::spawn_unlinked` for _isolated failure_.
|
other at all, using `task::spawn_unlinked` for _isolated failure_.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
# use std::task;
|
||||||
# fn random() -> uint { 100 }
|
# fn random() -> uint { 100 }
|
||||||
# fn sleep_for(i: uint) { for i.times { task::yield() } }
|
# fn sleep_for(i: uint) { for i.times { task::yield() } }
|
||||||
# do task::try::<()> {
|
# do task::try::<()> {
|
||||||
|
@ -574,6 +594,7 @@ Here is the function that implements the child task:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
# use extra::comm::DuplexStream;
|
# use extra::comm::DuplexStream;
|
||||||
|
# use std::uint;
|
||||||
fn stringifier(channel: &DuplexStream<~str, uint>) {
|
fn stringifier(channel: &DuplexStream<~str, uint>) {
|
||||||
let mut value: uint;
|
let mut value: uint;
|
||||||
loop {
|
loop {
|
||||||
|
@ -596,6 +617,7 @@ Here is the code for the parent task:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
# use std::task::spawn;
|
# use std::task::spawn;
|
||||||
|
# use std::uint;
|
||||||
# use extra::comm::DuplexStream;
|
# use extra::comm::DuplexStream;
|
||||||
# fn stringifier(channel: &DuplexStream<~str, uint>) {
|
# fn stringifier(channel: &DuplexStream<~str, uint>) {
|
||||||
# let mut value: uint;
|
# let mut value: uint;
|
||||||
|
|
|
@ -502,6 +502,7 @@ types.
|
||||||
> items.
|
> items.
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
# use std::float;
|
||||||
fn angle(vector: (float, float)) -> float {
|
fn angle(vector: (float, float)) -> float {
|
||||||
let pi = float::consts::pi;
|
let pi = float::consts::pi;
|
||||||
match vector {
|
match vector {
|
||||||
|
@ -556,6 +557,7 @@ while cake_amount > 0 {
|
||||||
`loop` denotes an infinite loop, and is the preferred way of writing `while true`:
|
`loop` denotes an infinite loop, and is the preferred way of writing `while true`:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
# use std::int;
|
||||||
let mut x = 5;
|
let mut x = 5;
|
||||||
loop {
|
loop {
|
||||||
x += x - 3;
|
x += x - 3;
|
||||||
|
@ -699,6 +701,7 @@ get at their contents. All variant constructors can be used as
|
||||||
patterns, as in this definition of `area`:
|
patterns, as in this definition of `area`:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
# use std::float;
|
||||||
# struct Point {x: float, y: float}
|
# struct Point {x: float, y: float}
|
||||||
# enum Shape { Circle(Point, float), Rectangle(Point, Point) }
|
# enum Shape { Circle(Point, float), Rectangle(Point, Point) }
|
||||||
fn area(sh: Shape) -> float {
|
fn area(sh: Shape) -> float {
|
||||||
|
@ -1829,6 +1832,7 @@ vector consisting of the result of applying `function` to each element
|
||||||
of `vector`:
|
of `vector`:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
# use std::vec;
|
||||||
fn map<T, U>(vector: &[T], function: &fn(v: &T) -> U) -> ~[U] {
|
fn map<T, U>(vector: &[T], function: &fn(v: &T) -> U) -> ~[U] {
|
||||||
let mut accumulator = ~[];
|
let mut accumulator = ~[];
|
||||||
for vec::each(vector) |element| {
|
for vec::each(vector) |element| {
|
||||||
|
@ -2026,6 +2030,7 @@ themselves contain type parameters. A trait for generalized sequence
|
||||||
types might look like the following:
|
types might look like the following:
|
||||||
|
|
||||||
~~~~
|
~~~~
|
||||||
|
# use std::vec;
|
||||||
trait Seq<T> {
|
trait Seq<T> {
|
||||||
fn len(&self) -> uint;
|
fn len(&self) -> uint;
|
||||||
fn iter(&self, b: &fn(v: &T));
|
fn iter(&self, b: &fn(v: &T));
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
#[no_std];
|
#[no_std];
|
||||||
|
|
||||||
extern mod core(name = "std", vers = "0.7-pre");
|
extern mod core(name = "std", vers = "0.7-pre");
|
||||||
extern mod std(name = "extra", vers = "0.7-pre");
|
extern mod extra(name = "extra", vers = "0.7-pre");
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
use core::*;
|
use core::*;
|
||||||
|
|
||||||
use std::getopts;
|
use extra::getopts;
|
||||||
use std::test;
|
use extra::test;
|
||||||
|
|
||||||
use core::result::{Ok, Err};
|
use core::result::{Ok, Err};
|
||||||
|
|
||||||
|
@ -42,6 +42,13 @@ pub mod runtest;
|
||||||
pub mod common;
|
pub mod common;
|
||||||
pub mod errors;
|
pub mod errors;
|
||||||
|
|
||||||
|
mod std {
|
||||||
|
pub use core::cmp;
|
||||||
|
pub use core::str;
|
||||||
|
pub use core::sys;
|
||||||
|
pub use core::unstable;
|
||||||
|
}
|
||||||
|
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let config = parse_config(args);
|
let config = parse_config(args);
|
||||||
|
|
|
@ -10,6 +10,9 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::io;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
pub struct ExpectedError { line: uint, kind: ~str, msg: ~str }
|
pub struct ExpectedError { line: uint, kind: ~str, msg: ~str }
|
||||||
|
|
||||||
// Load any test directives embedded in the file
|
// Load any test directives embedded in the file
|
||||||
|
|
|
@ -10,8 +10,12 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use common;
|
|
||||||
use common::config;
|
use common::config;
|
||||||
|
use common;
|
||||||
|
|
||||||
|
use core::io;
|
||||||
|
use core::os;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
pub struct TestProps {
|
pub struct TestProps {
|
||||||
// Lines that should be expected, in order, on standard out
|
// Lines that should be expected, in order, on standard out
|
||||||
|
|
|
@ -10,7 +10,13 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::comm;
|
||||||
|
use core::io;
|
||||||
|
use core::libc::c_int;
|
||||||
|
use core::os;
|
||||||
use core::run;
|
use core::run;
|
||||||
|
use core::str;
|
||||||
|
use core::task;
|
||||||
|
|
||||||
#[cfg(target_os = "win32")]
|
#[cfg(target_os = "win32")]
|
||||||
fn target_env(lib_path: &str, prog: &str) -> ~[(~str,~str)] {
|
fn target_env(lib_path: &str, prog: &str) -> ~[(~str,~str)] {
|
||||||
|
|
|
@ -22,6 +22,12 @@ use procsrv;
|
||||||
use util;
|
use util;
|
||||||
use util::logv;
|
use util::logv;
|
||||||
|
|
||||||
|
use core::io;
|
||||||
|
use core::os;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub fn run(config: config, testfile: ~str) {
|
pub fn run(config: config, testfile: ~str) {
|
||||||
if config.verbose {
|
if config.verbose {
|
||||||
// We're going to be dumping a lot of info. Start on a new line.
|
// We're going to be dumping a lot of info. Start on a new line.
|
||||||
|
|
|
@ -12,6 +12,7 @@ use core::prelude::*;
|
||||||
|
|
||||||
use common::config;
|
use common::config;
|
||||||
|
|
||||||
|
use core::io;
|
||||||
use core::os::getenv;
|
use core::os::getenv;
|
||||||
|
|
||||||
pub fn make_new_path(path: &str) -> ~str {
|
pub fn make_new_path(path: &str) -> ~str {
|
||||||
|
|
|
@ -510,9 +510,13 @@ pub impl<'self, T:Const + Owned> RWReadMode<'self, T> {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
use core::cell::Cell;
|
|
||||||
use arc::*;
|
use arc::*;
|
||||||
|
|
||||||
|
use core::cell::Cell;
|
||||||
|
use core::comm;
|
||||||
|
use core::task;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn manually_share_arc() {
|
fn manually_share_arc() {
|
||||||
let v = ~[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
let v = ~[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
||||||
|
@ -541,59 +545,65 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_mutex_arc_condvar() {
|
fn test_mutex_arc_condvar() {
|
||||||
let arc = ~MutexARC(false);
|
unsafe {
|
||||||
let arc2 = ~arc.clone();
|
let arc = ~MutexARC(false);
|
||||||
let (p,c) = comm::oneshot();
|
let arc2 = ~arc.clone();
|
||||||
let (c,p) = (Cell(c), Cell(p));
|
let (p,c) = comm::oneshot();
|
||||||
do task::spawn || {
|
let (c,p) = (Cell(c), Cell(p));
|
||||||
// wait until parent gets in
|
do task::spawn || {
|
||||||
comm::recv_one(p.take());
|
// wait until parent gets in
|
||||||
do arc2.access_cond |state, cond| {
|
comm::recv_one(p.take());
|
||||||
*state = true;
|
do arc2.access_cond |state, cond| {
|
||||||
cond.signal();
|
*state = true;
|
||||||
|
cond.signal();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
do arc.access_cond |state, cond| {
|
||||||
do arc.access_cond |state, cond| {
|
comm::send_one(c.take(), ());
|
||||||
comm::send_one(c.take(), ());
|
assert!(!*state);
|
||||||
assert!(!*state);
|
while !*state {
|
||||||
while !*state {
|
cond.wait();
|
||||||
cond.wait();
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[test] #[should_fail] #[ignore(cfg(windows))]
|
#[test] #[should_fail] #[ignore(cfg(windows))]
|
||||||
fn test_arc_condvar_poison() {
|
fn test_arc_condvar_poison() {
|
||||||
let arc = ~MutexARC(1);
|
unsafe {
|
||||||
let arc2 = ~arc.clone();
|
let arc = ~MutexARC(1);
|
||||||
let (p, c) = comm::stream();
|
let arc2 = ~arc.clone();
|
||||||
|
let (p, c) = comm::stream();
|
||||||
|
|
||||||
do task::spawn_unlinked || {
|
do task::spawn_unlinked || {
|
||||||
let _ = p.recv();
|
let _ = p.recv();
|
||||||
do arc2.access_cond |one, cond| {
|
do arc2.access_cond |one, cond| {
|
||||||
cond.signal();
|
cond.signal();
|
||||||
// Parent should fail when it wakes up.
|
// Parent should fail when it wakes up.
|
||||||
assert_eq!(*one, 0);
|
assert_eq!(*one, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
do arc.access_cond |one, cond| {
|
do arc.access_cond |one, cond| {
|
||||||
c.send(());
|
c.send(());
|
||||||
while *one == 1 {
|
while *one == 1 {
|
||||||
cond.wait();
|
cond.wait();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[test] #[should_fail] #[ignore(cfg(windows))]
|
#[test] #[should_fail] #[ignore(cfg(windows))]
|
||||||
fn test_mutex_arc_poison() {
|
fn test_mutex_arc_poison() {
|
||||||
let arc = ~MutexARC(1);
|
unsafe {
|
||||||
let arc2 = ~arc.clone();
|
let arc = ~MutexARC(1);
|
||||||
do task::try || {
|
let arc2 = ~arc.clone();
|
||||||
do arc2.access |one| {
|
do task::try || {
|
||||||
assert_eq!(*one, 2);
|
do arc2.access |one| {
|
||||||
|
assert_eq!(*one, 2);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
do arc.access |one| {
|
||||||
|
assert_eq!(*one, 1);
|
||||||
}
|
}
|
||||||
};
|
|
||||||
do arc.access |one| {
|
|
||||||
assert_eq!(*one, 1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[test] #[should_fail] #[ignore(cfg(windows))]
|
#[test] #[should_fail] #[ignore(cfg(windows))]
|
||||||
|
|
|
@ -12,6 +12,9 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub trait ToBase64 {
|
pub trait ToBase64 {
|
||||||
fn to_base64(&self) -> ~str;
|
fn to_base64(&self) -> ~str;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,12 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::cmp;
|
||||||
|
use core::ops;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec::from_elem;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
struct SmallBitv {
|
struct SmallBitv {
|
||||||
/// only the lowest nbits of this value are used. the rest is undefined.
|
/// only the lowest nbits of this value are used. the rest is undefined.
|
||||||
bits: uint
|
bits: uint
|
||||||
|
|
|
@ -38,6 +38,9 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::option;
|
||||||
|
use core::ptr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The type representing a foreign chunk of memory
|
* The type representing a foreign chunk of memory
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,7 @@ use core::prelude::*;
|
||||||
|
|
||||||
use core::comm::{GenericChan, GenericSmartChan, GenericPort};
|
use core::comm::{GenericChan, GenericSmartChan, GenericPort};
|
||||||
use core::comm::{Chan, Port, Selectable, Peekable};
|
use core::comm::{Chan, Port, Selectable, Peekable};
|
||||||
|
use core::comm;
|
||||||
use core::pipes;
|
use core::pipes;
|
||||||
|
|
||||||
/// An extension of `pipes::stream` that allows both sending and receiving.
|
/// An extension of `pipes::stream` that allows both sending and receiving.
|
||||||
|
|
|
@ -12,7 +12,9 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::uint;
|
||||||
use core::util::replace;
|
use core::util::replace;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
static initial_capacity: uint = 32u; // 2^5
|
static initial_capacity: uint = 32u; // 2^5
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,8 @@ Do not use ==, !=, <, etc on doubly-linked lists -- it may not terminate.
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::managed;
|
use core::managed;
|
||||||
|
use core::old_iter;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub type DListLink<T> = Option<@mut DListNode<T>>;
|
pub type DListLink<T> = Option<@mut DListNode<T>>;
|
||||||
|
|
||||||
|
@ -538,6 +540,9 @@ mod tests {
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
use core::old_iter;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_dlist_concat() {
|
fn test_dlist_concat() {
|
||||||
let a = from_vec([1,2]);
|
let a = from_vec([1,2]);
|
||||||
|
|
|
@ -96,6 +96,11 @@ total line count).
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::io::ReaderUtil;
|
||||||
|
use core::io;
|
||||||
|
use core::os;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A summary of the internal state of a `FileInput` object. `line_num`
|
A summary of the internal state of a `FileInput` object. `line_num`
|
||||||
and `line_num_file` represent the number of lines read in total and in
|
and `line_num_file` represent the number of lines read in total and in
|
||||||
|
@ -407,6 +412,11 @@ mod test {
|
||||||
|
|
||||||
use super::{FileInput, pathify, input_vec, input_vec_state};
|
use super::{FileInput, pathify, input_vec, input_vec_state};
|
||||||
|
|
||||||
|
use core::io;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
fn make_file(path : &Path, contents: &[~str]) {
|
fn make_file(path : &Path, contents: &[~str]) {
|
||||||
let file = io::file_writer(path, [io::Create, io::Truncate]).get();
|
let file = io::file_writer(path, [io::Create, io::Truncate]).get();
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,9 @@ Simple compression
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::libc;
|
|
||||||
use core::libc::{c_void, size_t, c_int};
|
use core::libc::{c_void, size_t, c_int};
|
||||||
|
use core::libc;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub mod rustrt {
|
pub mod rustrt {
|
||||||
use core::libc::{c_int, c_void, size_t};
|
use core::libc::{c_int, c_void, size_t};
|
||||||
|
|
|
@ -345,11 +345,11 @@ pub mod flatteners {
|
||||||
|
|
||||||
use core::cast;
|
use core::cast;
|
||||||
use core::io::{Writer, Reader, ReaderUtil};
|
use core::io::{Writer, Reader, ReaderUtil};
|
||||||
|
use core::io;
|
||||||
use core::ptr;
|
use core::ptr;
|
||||||
use core::sys::size_of;
|
use core::sys::size_of;
|
||||||
use core::vec;
|
use core::vec;
|
||||||
|
|
||||||
|
|
||||||
// FIXME #4074: Copy + Owned != POD
|
// FIXME #4074: Copy + Owned != POD
|
||||||
pub struct PodUnflattener<T> {
|
pub struct PodUnflattener<T> {
|
||||||
bogus: ()
|
bogus: ()
|
||||||
|
@ -511,8 +511,10 @@ pub mod bytepipes {
|
||||||
|
|
||||||
use flatpipes::{ByteChan, BytePort};
|
use flatpipes::{ByteChan, BytePort};
|
||||||
|
|
||||||
use core::io::{Writer, Reader, ReaderUtil};
|
|
||||||
use core::comm::{Port, Chan};
|
use core::comm::{Port, Chan};
|
||||||
|
use core::comm;
|
||||||
|
use core::io::{Writer, Reader, ReaderUtil};
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub struct ReaderBytePort<R> {
|
pub struct ReaderBytePort<R> {
|
||||||
reader: R
|
reader: R
|
||||||
|
@ -646,7 +648,12 @@ mod test {
|
||||||
use flatpipes::{BytePort, FlatChan, FlatPort};
|
use flatpipes::{BytePort, FlatChan, FlatPort};
|
||||||
use net::tcp::TcpSocketBuf;
|
use net::tcp::TcpSocketBuf;
|
||||||
|
|
||||||
|
use core::comm;
|
||||||
|
use core::int;
|
||||||
use core::io::BytesWriter;
|
use core::io::BytesWriter;
|
||||||
|
use core::result;
|
||||||
|
use core::sys;
|
||||||
|
use core::task;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[ignore(reason = "ebml failure")]
|
#[ignore(reason = "ebml failure")]
|
||||||
|
@ -873,6 +880,11 @@ mod test {
|
||||||
use flatpipes::pod;
|
use flatpipes::pod;
|
||||||
use io_util::BufReader;
|
use io_util::BufReader;
|
||||||
|
|
||||||
|
use core::comm;
|
||||||
|
use core::io;
|
||||||
|
use core::sys;
|
||||||
|
use core::task;
|
||||||
|
|
||||||
type PortLoader<P> =
|
type PortLoader<P> =
|
||||||
~fn(~[u8]) -> FlatPort<int, PodUnflattener<int>, P>;
|
~fn(~[u8]) -> FlatPort<int, PodUnflattener<int>, P>;
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,14 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::io::{WriterUtil, ReaderUtil};
|
use core::char;
|
||||||
|
use core::float;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::io::{WriterUtil, ReaderUtil};
|
||||||
|
use core::io;
|
||||||
|
use core::str;
|
||||||
|
use core::to_str;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
use serialize::Encodable;
|
use serialize::Encodable;
|
||||||
use serialize;
|
use serialize;
|
||||||
|
@ -1332,6 +1338,8 @@ mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::io;
|
||||||
|
use core::result;
|
||||||
|
|
||||||
use std::serialize::Decodable;
|
use std::serialize::Decodable;
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,12 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
//! A standard linked list
|
//! A standard, garbage-collected linked list.
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[deriving(Eq)]
|
#[deriving(Eq)]
|
||||||
pub enum List<T> {
|
pub enum List<T> {
|
||||||
Cons(T, @List<T>),
|
Cons(T, @List<T>),
|
||||||
|
|
|
@ -1451,6 +1451,10 @@ mod test {
|
||||||
|
|
||||||
use core::cell::Cell;
|
use core::cell::Cell;
|
||||||
use core::comm::{stream, SharedChan};
|
use core::comm::{stream, SharedChan};
|
||||||
|
use core::io;
|
||||||
|
use core::result;
|
||||||
|
use core::str;
|
||||||
|
use core::task;
|
||||||
|
|
||||||
// FIXME don't run on fbsd or linux 32 bit (#2064)
|
// FIXME don't run on fbsd or linux 32 bit (#2064)
|
||||||
#[cfg(target_os="win32")]
|
#[cfg(target_os="win32")]
|
||||||
|
|
|
@ -19,7 +19,11 @@ A BigInt is a combination of BigUint and Sign.
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::cmp::{Eq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Greater};
|
use core::cmp::{Eq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Greater};
|
||||||
|
use core::int;
|
||||||
use core::num::{IntConvertible, Zero, One, ToStrRadix, FromStrRadix, Orderable};
|
use core::num::{IntConvertible, Zero, One, ToStrRadix, FromStrRadix, Orderable};
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A BigDigit is a BigUint's composing element.
|
A BigDigit is a BigUint's composing element.
|
||||||
|
@ -1148,8 +1152,13 @@ mod biguint_tests {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use core::num::{IntConvertible, Zero, One, FromStrRadix};
|
|
||||||
use core::cmp::{Less, Equal, Greater};
|
use core::cmp::{Less, Equal, Greater};
|
||||||
|
use core::int;
|
||||||
|
use core::num::{IntConvertible, Zero, One, FromStrRadix};
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_from_slice() {
|
fn test_from_slice() {
|
||||||
|
@ -1616,8 +1625,12 @@ mod bigint_tests {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use core::cmp::{Less, Equal, Greater};
|
use core::cmp::{Less, Equal, Greater};
|
||||||
|
use core::int;
|
||||||
use core::num::{IntConvertible, Zero, One, FromStrRadix};
|
use core::num::{IntConvertible, Zero, One, FromStrRadix};
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_from_biguint() {
|
fn test_from_biguint() {
|
||||||
|
|
|
@ -13,8 +13,11 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::num::{Zero,One,ToStrRadix,FromStrRadix,Round};
|
use core::cmp;
|
||||||
use core::from_str::FromStr;
|
use core::from_str::FromStr;
|
||||||
|
use core::num::{Zero,One,ToStrRadix,FromStrRadix,Round};
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
use super::bigint::BigInt;
|
use super::bigint::BigInt;
|
||||||
|
|
||||||
/// Represents the ratio between 2 numbers.
|
/// Represents the ratio between 2 numbers.
|
||||||
|
|
|
@ -10,6 +10,11 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::cast;
|
||||||
|
use core::ptr;
|
||||||
|
use core::sys;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use future_spawn = future::spawn;
|
use future_spawn = future::spawn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -15,6 +15,7 @@ use core::prelude::*;
|
||||||
use core::old_iter::BaseIter;
|
use core::old_iter::BaseIter;
|
||||||
use core::unstable::intrinsics::{move_val_init, init};
|
use core::unstable::intrinsics::{move_val_init, init};
|
||||||
use core::util::{replace, swap};
|
use core::util::{replace, swap};
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub struct PriorityQueue<T> {
|
pub struct PriorityQueue<T> {
|
||||||
priv data: ~[T],
|
priv data: ~[T],
|
||||||
|
|
|
@ -21,7 +21,10 @@ cycle cannot be created with `Rc<T>` because there is no way to modify it after
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::cast;
|
||||||
use core::libc::{c_void, size_t, malloc, free};
|
use core::libc::{c_void, size_t, malloc, free};
|
||||||
|
use core::ptr;
|
||||||
|
use core::sys;
|
||||||
use core::unstable::intrinsics;
|
use core::unstable::intrinsics;
|
||||||
use core::util;
|
use core::util;
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::libc::{c_char, c_int};
|
use core::libc::{c_char, c_int};
|
||||||
|
use core::local_data;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
pub mod rustrt {
|
pub mod rustrt {
|
||||||
use core::libc::{c_char, c_int};
|
use core::libc::{c_char, c_int};
|
||||||
|
|
|
@ -35,6 +35,10 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
/// The type of ropes.
|
/// The type of ropes.
|
||||||
pub type Rope = node::Root;
|
pub type Rope = node::Root;
|
||||||
|
|
||||||
|
@ -556,6 +560,11 @@ pub mod node {
|
||||||
|
|
||||||
use rope::node;
|
use rope::node;
|
||||||
|
|
||||||
|
use core::cast;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
/// Implementation of type `rope`
|
/// Implementation of type `rope`
|
||||||
pub enum Root {
|
pub enum Root {
|
||||||
/// An empty rope
|
/// An empty rope
|
||||||
|
@ -1137,6 +1146,8 @@ pub mod node {
|
||||||
|
|
||||||
use rope::node::{Concat, Leaf, Node, height};
|
use rope::node::{Concat, Leaf, Node, height};
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub struct T {
|
pub struct T {
|
||||||
stack: ~[@Node],
|
stack: ~[@Node],
|
||||||
stackpos: int,
|
stackpos: int,
|
||||||
|
@ -1176,6 +1187,8 @@ pub mod node {
|
||||||
pub mod char_iterator {
|
pub mod char_iterator {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
|
||||||
use rope::node::{Leaf, Node};
|
use rope::node::{Leaf, Node};
|
||||||
use rope::node::leaf_iterator;
|
use rope::node::leaf_iterator;
|
||||||
|
|
||||||
|
@ -1258,9 +1271,14 @@ pub mod node {
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use rope::*;
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use rope::*;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
//Utility function, used for sanity check
|
//Utility function, used for sanity check
|
||||||
fn rope_to_string(r: Rope) -> ~str {
|
fn rope_to_string(r: Rope) -> ~str {
|
||||||
match (r) {
|
match (r) {
|
||||||
|
|
|
@ -18,8 +18,11 @@ Core encoding and decoding interfaces.
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::at_vec;
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::hashmap::{HashMap, HashSet};
|
||||||
use core::trie::{TrieMap, TrieSet};
|
use core::trie::{TrieMap, TrieSet};
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use deque::Deque;
|
use deque::Deque;
|
||||||
use dlist::DList;
|
use dlist::DList;
|
||||||
use treemap::{TreeMap, TreeSet};
|
use treemap::{TreeMap, TreeSet};
|
||||||
|
|
|
@ -15,11 +15,13 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::cmp;
|
||||||
use core::container::{Container, Mutable, Map, Set};
|
use core::container::{Container, Mutable, Map, Set};
|
||||||
use core::old_iter::BaseIter;
|
use core::old_iter::BaseIter;
|
||||||
use core::old_iter;
|
use core::old_iter;
|
||||||
use core::option::{Some, None};
|
use core::uint;
|
||||||
use core::util::replace;
|
use core::util::replace;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub struct SmallIntMap<T> {
|
pub struct SmallIntMap<T> {
|
||||||
priv v: ~[Option<T>],
|
priv v: ~[Option<T>],
|
||||||
|
@ -285,6 +287,11 @@ mod tests {
|
||||||
|
|
||||||
use super::SmallIntMap;
|
use super::SmallIntMap;
|
||||||
|
|
||||||
|
use core::local_data;
|
||||||
|
use core::rand;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_find_mut() {
|
fn test_find_mut() {
|
||||||
let mut m = SmallIntMap::new();
|
let mut m = SmallIntMap::new();
|
||||||
|
@ -380,6 +387,8 @@ mod test_set {
|
||||||
|
|
||||||
use super::SmallIntSet;
|
use super::SmallIntSet;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_disjoint() {
|
fn test_disjoint() {
|
||||||
let mut xs = SmallIntSet::new();
|
let mut xs = SmallIntSet::new();
|
||||||
|
|
|
@ -13,9 +13,10 @@
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::cmp::{Eq, Ord};
|
use core::cmp::{Eq, Ord};
|
||||||
|
use core::uint;
|
||||||
|
use core::util::swap;
|
||||||
use core::vec::len;
|
use core::vec::len;
|
||||||
use core::vec;
|
use core::vec;
|
||||||
use core::util::swap;
|
|
||||||
|
|
||||||
type Le<'self, T> = &'self fn(v1: &T, v2: &T) -> bool;
|
type Le<'self, T> = &'self fn(v1: &T, v2: &T) -> bool;
|
||||||
|
|
||||||
|
@ -926,7 +927,12 @@ mod test_tim_sort {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use sort::tim_sort;
|
use sort::tim_sort;
|
||||||
|
|
||||||
|
use core::local_data;
|
||||||
use core::rand::RngUtil;
|
use core::rand::RngUtil;
|
||||||
|
use core::rand;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
struct CVal {
|
struct CVal {
|
||||||
val: float,
|
val: float,
|
||||||
|
@ -1019,7 +1025,12 @@ mod big_tests {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use sort::*;
|
use sort::*;
|
||||||
|
|
||||||
|
use core::local_data;
|
||||||
use core::rand::RngUtil;
|
use core::rand::RngUtil;
|
||||||
|
use core::rand;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_unique() {
|
fn test_unique() {
|
||||||
|
|
|
@ -133,6 +133,9 @@ pub mod std {
|
||||||
pub use core::condition;
|
pub use core::condition;
|
||||||
pub use core::cmp;
|
pub use core::cmp;
|
||||||
pub use core::sys;
|
pub use core::sys;
|
||||||
|
pub use core::unstable;
|
||||||
|
pub use core::str;
|
||||||
|
pub use core::os;
|
||||||
}
|
}
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub mod extra {
|
pub mod extra {
|
||||||
|
|
|
@ -17,9 +17,10 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::unstable::sync::{Exclusive, exclusive};
|
use core::comm;
|
||||||
use core::ptr;
|
use core::ptr;
|
||||||
use core::task;
|
use core::task;
|
||||||
|
use core::unstable::sync::{Exclusive, exclusive};
|
||||||
use core::util;
|
use core::util;
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -728,6 +729,8 @@ mod tests {
|
||||||
|
|
||||||
use core::cast;
|
use core::cast;
|
||||||
use core::cell::Cell;
|
use core::cell::Cell;
|
||||||
|
use core::comm;
|
||||||
|
use core::ptr;
|
||||||
use core::result;
|
use core::result;
|
||||||
use core::task;
|
use core::task;
|
||||||
use core::vec;
|
use core::vec;
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::comm::Chan;
|
use core::comm::Chan;
|
||||||
|
use core::comm;
|
||||||
use core::task::SchedMode;
|
use core::task::SchedMode;
|
||||||
use core::task;
|
use core::task;
|
||||||
use core::vec;
|
use core::vec;
|
||||||
|
@ -101,6 +102,6 @@ fn test_task_pool() {
|
||||||
};
|
};
|
||||||
let mut pool = TaskPool::new(4, Some(SingleThreaded), f);
|
let mut pool = TaskPool::new(4, Some(SingleThreaded), f);
|
||||||
for 8.times {
|
for 8.times {
|
||||||
pool.execute(|i| io::println(fmt!("Hello from thread %u!", *i)));
|
pool.execute(|i| println(fmt!("Hello from thread %u!", *i)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,9 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::os;
|
||||||
use core::rand::RngUtil;
|
use core::rand::RngUtil;
|
||||||
|
use core::rand;
|
||||||
|
|
||||||
pub fn mkdtemp(tmpdir: &Path, suffix: &str) -> Option<Path> {
|
pub fn mkdtemp(tmpdir: &Path, suffix: &str) -> Option<Path> {
|
||||||
let mut r = rand::rng();
|
let mut r = rand::rng();
|
||||||
|
@ -30,7 +32,10 @@ mod tests {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use tempfile::mkdtemp;
|
use tempfile::mkdtemp;
|
||||||
|
use tempfile;
|
||||||
|
|
||||||
use core::os;
|
use core::os;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_mkdtemp() {
|
fn test_mkdtemp() {
|
||||||
|
|
|
@ -21,8 +21,18 @@ use getopts;
|
||||||
use sort;
|
use sort;
|
||||||
use term;
|
use term;
|
||||||
|
|
||||||
use core::to_str::ToStr;
|
|
||||||
use core::comm::{stream, SharedChan};
|
use core::comm::{stream, SharedChan};
|
||||||
|
use core::either;
|
||||||
|
use core::io;
|
||||||
|
use core::num;
|
||||||
|
use core::option;
|
||||||
|
use core::result;
|
||||||
|
use core::str;
|
||||||
|
use core::task;
|
||||||
|
use core::to_str::ToStr;
|
||||||
|
use core::u64;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub mod rustrt {
|
pub mod rustrt {
|
||||||
use core::libc::size_t;
|
use core::libc::size_t;
|
||||||
|
@ -601,10 +611,14 @@ fn calc_result(desc: &TestDesc, task_succeeded: bool) -> TestResult {
|
||||||
pub mod bench {
|
pub mod bench {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use time::precise_time_ns;
|
use core::num;
|
||||||
use test::{BenchHarness, BenchSamples};
|
|
||||||
use stats::Stats;
|
|
||||||
use core::rand::RngUtil;
|
use core::rand::RngUtil;
|
||||||
|
use core::rand;
|
||||||
|
use core::u64;
|
||||||
|
use core::vec;
|
||||||
|
use stats::Stats;
|
||||||
|
use test::{BenchHarness, BenchSamples};
|
||||||
|
use time::precise_time_ns;
|
||||||
|
|
||||||
pub impl BenchHarness {
|
pub impl BenchHarness {
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,11 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::i32;
|
||||||
|
use core::int;
|
||||||
|
use core::io;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
static NSEC_PER_SEC: i32 = 1_000_000_000_i32;
|
static NSEC_PER_SEC: i32 = 1_000_000_000_i32;
|
||||||
|
|
||||||
pub mod rustrt {
|
pub mod rustrt {
|
||||||
|
|
|
@ -19,6 +19,7 @@ use uv::iotask::IoTask;
|
||||||
use core::cast::transmute;
|
use core::cast::transmute;
|
||||||
use core::cast;
|
use core::cast;
|
||||||
use core::comm::{stream, Chan, SharedChan, Port, select2i};
|
use core::comm::{stream, Chan, SharedChan, Port, select2i};
|
||||||
|
use core::either;
|
||||||
use core::libc::c_void;
|
use core::libc::c_void;
|
||||||
use core::libc;
|
use core::libc;
|
||||||
|
|
||||||
|
@ -179,9 +180,12 @@ mod test {
|
||||||
|
|
||||||
use timer::*;
|
use timer::*;
|
||||||
use uv;
|
use uv;
|
||||||
|
|
||||||
use core::cell::Cell;
|
use core::cell::Cell;
|
||||||
use core::rand::RngUtil;
|
|
||||||
use core::pipes::{stream, SharedChan};
|
use core::pipes::{stream, SharedChan};
|
||||||
|
use core::rand::RngUtil;
|
||||||
|
use core::rand;
|
||||||
|
use core::task;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_gl_timer_simple_sleep_test() {
|
fn test_gl_timer_simple_sleep_test() {
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::iterator::*;
|
use core::iterator::*;
|
||||||
|
use core::uint;
|
||||||
use core::util::{swap, replace};
|
use core::util::{swap, replace};
|
||||||
|
|
||||||
// This is implemented as an AA tree, which is a simplified variation of
|
// This is implemented as an AA tree, which is a simplified variation of
|
||||||
|
@ -701,9 +702,13 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
|
||||||
mod test_treemap {
|
mod test_treemap {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::iterator::*;
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
use core::iterator::*;
|
||||||
use core::rand::RngUtil;
|
use core::rand::RngUtil;
|
||||||
|
use core::rand;
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn find_empty() {
|
fn find_empty() {
|
||||||
|
@ -1021,8 +1026,11 @@ mod test_treemap {
|
||||||
mod test_set {
|
mod test_set {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
use core::iterator::*;
|
use core::iterator::*;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_clear() {
|
fn test_clear() {
|
||||||
let mut s = TreeSet::new();
|
let mut s = TreeSet::new();
|
||||||
|
|
|
@ -16,7 +16,9 @@ use iotask = uv_iotask;
|
||||||
use uv_iotask::{IoTask, spawn_iotask};
|
use uv_iotask::{IoTask, spawn_iotask};
|
||||||
|
|
||||||
use core::comm::Chan;
|
use core::comm::Chan;
|
||||||
|
use core::libc;
|
||||||
use core::option::{Some, None};
|
use core::option::{Some, None};
|
||||||
|
use core::str;
|
||||||
use core::task::task;
|
use core::task::task;
|
||||||
use core::unstable::global::{global_data_clone_create, global_data_clone};
|
use core::unstable::global::{global_data_clone_create, global_data_clone};
|
||||||
use core::unstable::weak_task::weaken_task;
|
use core::unstable::weak_task::weaken_task;
|
||||||
|
|
|
@ -22,6 +22,7 @@ use ll = uv_ll;
|
||||||
use core::comm::{stream, Port, Chan, SharedChan};
|
use core::comm::{stream, Port, Chan, SharedChan};
|
||||||
use core::libc::c_void;
|
use core::libc::c_void;
|
||||||
use core::libc;
|
use core::libc;
|
||||||
|
use core::task;
|
||||||
|
|
||||||
/// Used to abstract-away direct interaction with a libuv loop.
|
/// Used to abstract-away direct interaction with a libuv loop.
|
||||||
pub struct IoTask {
|
pub struct IoTask {
|
||||||
|
@ -223,6 +224,8 @@ struct AhData {
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
fn impl_uv_iotask_async(iotask: &IoTask) {
|
fn impl_uv_iotask_async(iotask: &IoTask) {
|
||||||
|
use core::ptr;
|
||||||
|
|
||||||
let async_handle = ll::async_t();
|
let async_handle = ll::async_t();
|
||||||
let ah_ptr: *ll::uv_async_t = &async_handle;
|
let ah_ptr: *ll::uv_async_t = &async_handle;
|
||||||
let (exit_po, exit_ch) = stream::<()>();
|
let (exit_po, exit_ch) = stream::<()>();
|
||||||
|
|
|
@ -34,9 +34,12 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::libc::size_t;
|
use core::libc::{c_void, size_t};
|
||||||
use core::libc::c_void;
|
use core::libc;
|
||||||
use core::ptr::to_unsafe_ptr;
|
use core::ptr::to_unsafe_ptr;
|
||||||
|
use core::ptr;
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub type uv_handle_t = c_void;
|
pub type uv_handle_t = c_void;
|
||||||
pub type uv_loop_t = c_void;
|
pub type uv_loop_t = c_void;
|
||||||
|
@ -1225,9 +1228,17 @@ pub unsafe fn addrinfo_as_sockaddr_in6(input: *addrinfo) -> *sockaddr_in6 {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
use core::comm::{SharedChan, stream, GenericChan, GenericPort};
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
use core::comm::{SharedChan, stream, GenericChan, GenericPort};
|
||||||
|
use core::libc;
|
||||||
|
use core::result;
|
||||||
|
use core::str;
|
||||||
|
use core::sys;
|
||||||
|
use core::task;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
enum tcp_read_data {
|
enum tcp_read_data {
|
||||||
tcp_read_eof,
|
tcp_read_eof,
|
||||||
tcp_read_more(~[u8]),
|
tcp_read_more(~[u8]),
|
||||||
|
|
|
@ -21,7 +21,9 @@ use core::comm::{PortOne, oneshot, send_one, recv_one};
|
||||||
use core::either::{Either, Left, Right};
|
use core::either::{Either, Left, Right};
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
use core::io;
|
use core::io;
|
||||||
|
use core::result;
|
||||||
use core::run;
|
use core::run;
|
||||||
|
use core::task;
|
||||||
use core::to_bytes;
|
use core::to_bytes;
|
||||||
use core::util::replace;
|
use core::util::replace;
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,16 @@ extern mod extra(name = "extra", vers = "0.7-pre");
|
||||||
extern mod syntax(vers = "0.7-pre");
|
extern mod syntax(vers = "0.7-pre");
|
||||||
|
|
||||||
use std::prelude::*;
|
use std::prelude::*;
|
||||||
|
|
||||||
|
use std::int;
|
||||||
|
use std::io;
|
||||||
|
use std::option;
|
||||||
|
use std::os;
|
||||||
|
use std::result;
|
||||||
use std::run;
|
use std::run;
|
||||||
|
use std::str;
|
||||||
|
use std::uint;
|
||||||
|
use std::vec;
|
||||||
|
|
||||||
use syntax::diagnostic;
|
use syntax::diagnostic;
|
||||||
use syntax::parse::token::ident_interner;
|
use syntax::parse::token::ident_interner;
|
||||||
|
|
|
@ -31,8 +31,18 @@ extern mod rustc;
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::io;
|
||||||
|
use core::os;
|
||||||
use core::run;
|
use core::run;
|
||||||
use core::libc::exit;
|
use core::libc::exit;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
|
// For bootstrapping.
|
||||||
|
mod std {
|
||||||
|
pub use core::os;
|
||||||
|
pub use core::str;
|
||||||
|
pub use core::unstable;
|
||||||
|
}
|
||||||
|
|
||||||
enum ValidUsage {
|
enum ValidUsage {
|
||||||
Valid(int), Invalid
|
Valid(int), Invalid
|
||||||
|
|
|
@ -22,12 +22,17 @@ use middle::trans::common::CrateContext;
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
use util::ppaux;
|
use util::ppaux;
|
||||||
|
|
||||||
|
use core::char;
|
||||||
use core::hash::Streaming;
|
use core::hash::Streaming;
|
||||||
use core::hash;
|
use core::hash;
|
||||||
use core::libc::{c_int, c_uint};
|
use core::libc::{c_int, c_uint};
|
||||||
use core::os::consts::{macos, freebsd, linux, android, win32};
|
use core::os::consts::{macos, freebsd, linux, android, win32};
|
||||||
|
use core::os;
|
||||||
|
use core::ptr;
|
||||||
use core::rt::io::Writer;
|
use core::rt::io::Writer;
|
||||||
use core::run;
|
use core::run;
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_map::{path, path_mod, path_name};
|
use syntax::ast_map::{path, path_mod, path_name};
|
||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
|
@ -100,7 +105,12 @@ pub mod jit {
|
||||||
use lib::llvm::{ModuleRef, PassManagerRef};
|
use lib::llvm::{ModuleRef, PassManagerRef};
|
||||||
use metadata::cstore;
|
use metadata::cstore;
|
||||||
|
|
||||||
|
use core::cast;
|
||||||
|
use core::char;
|
||||||
use core::libc::c_int;
|
use core::libc::c_int;
|
||||||
|
use core::os;
|
||||||
|
use core::ptr;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
pub mod rusti {
|
pub mod rusti {
|
||||||
#[nolink]
|
#[nolink]
|
||||||
|
@ -188,6 +198,7 @@ pub mod write {
|
||||||
use core::libc::{c_int, c_uint};
|
use core::libc::{c_int, c_uint};
|
||||||
use core::path::Path;
|
use core::path::Path;
|
||||||
use core::run;
|
use core::run;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
pub fn is_object_or_assembly_or_exe(ot: output_type) -> bool {
|
pub fn is_object_or_assembly_or_exe(ot: output_type) -> bool {
|
||||||
if ot == output_type_assembly || ot == output_type_object ||
|
if ot == output_type_assembly || ot == output_type_object ||
|
||||||
|
|
|
@ -14,8 +14,11 @@ use driver::session;
|
||||||
use metadata::cstore;
|
use metadata::cstore;
|
||||||
use metadata::filesearch;
|
use metadata::filesearch;
|
||||||
|
|
||||||
use core::util;
|
|
||||||
use core::hashmap::HashSet;
|
use core::hashmap::HashSet;
|
||||||
|
use core::os;
|
||||||
|
use core::uint;
|
||||||
|
use core::util;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
fn not_win32(os: session::os) -> bool {
|
fn not_win32(os: session::os) -> bool {
|
||||||
match os {
|
match os {
|
||||||
|
@ -210,6 +213,13 @@ pub fn minimize_rpaths(rpaths: &[Path]) -> ~[Path] {
|
||||||
mod test {
|
mod test {
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::os;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
|
// FIXME(#2119): the outer attribute should be #[cfg(unix, test)], then
|
||||||
|
// these redundant #[cfg(test)] blocks can be removed
|
||||||
|
#[cfg(test)]
|
||||||
|
#[cfg(test)]
|
||||||
use back::rpath::{get_absolute_rpath, get_install_prefix_rpath};
|
use back::rpath::{get_absolute_rpath, get_install_prefix_rpath};
|
||||||
use back::rpath::{get_relative_to, get_rpath_relative_to_output};
|
use back::rpath::{get_relative_to, get_rpath_relative_to_output};
|
||||||
use back::rpath::{minimize_rpaths, rpaths_to_flags};
|
use back::rpath::{minimize_rpaths, rpaths_to_flags};
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::option;
|
||||||
|
use core::vec;
|
||||||
use syntax::{ast, fold, attr};
|
use syntax::{ast, fold, attr};
|
||||||
|
|
||||||
type in_cfg_pred = @fn(attrs: ~[ast::attribute]) -> bool;
|
type in_cfg_pred = @fn(attrs: ~[ast::attribute]) -> bool;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use driver::session::Session;
|
use driver::session::Session;
|
||||||
use syntax::parse;
|
use syntax::parse;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
|
|
|
@ -12,10 +12,11 @@ use core::prelude::*;
|
||||||
|
|
||||||
use driver::session::Session;
|
use driver::session::Session;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
use syntax::codemap;
|
|
||||||
use syntax::codemap::dummy_sp;
|
use syntax::codemap::dummy_sp;
|
||||||
|
use syntax::codemap;
|
||||||
use syntax::fold;
|
use syntax::fold;
|
||||||
|
|
||||||
static STD_VERSION: &'static str = "0.7-pre";
|
static STD_VERSION: &'static str = "0.7-pre";
|
||||||
|
|
|
@ -15,6 +15,7 @@ use core::prelude::*;
|
||||||
use driver::session;
|
use driver::session;
|
||||||
use front::config;
|
use front::config;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use syntax::ast_util::*;
|
use syntax::ast_util::*;
|
||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
use syntax::codemap::{dummy_sp, span, ExpandedFrom, CallInfo, NameAndSpan};
|
use syntax::codemap::{dummy_sp, span, ExpandedFrom, CallInfo, NameAndSpan};
|
||||||
|
@ -309,7 +310,7 @@ fn mk_test_module(cx: &TestCtxt) -> @ast::item {
|
||||||
let mainfn = (quote_item!(
|
let mainfn = (quote_item!(
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
#[main];
|
#[main];
|
||||||
extra::test::test_main_static(::os::args(), tests);
|
extra::test::test_main_static(::std::os::args(), tests);
|
||||||
}
|
}
|
||||||
)).get();
|
)).get();
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,10 @@ use core::prelude::*;
|
||||||
|
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
use core::libc::{c_uint, c_ushort};
|
use core::libc::{c_uint, c_ushort};
|
||||||
|
use core::option;
|
||||||
|
use core::ptr;
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub type Opcode = u32;
|
pub type Opcode = u32;
|
||||||
pub type Bool = c_uint;
|
pub type Bool = c_uint;
|
||||||
|
|
|
@ -18,6 +18,7 @@ use metadata::filesearch::FileSearch;
|
||||||
use metadata::loader;
|
use metadata::loader;
|
||||||
|
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::vec;
|
||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
use syntax::codemap::{span, dummy_sp};
|
use syntax::codemap::{span, dummy_sp};
|
||||||
use syntax::diagnostic::span_handler;
|
use syntax::diagnostic::span_handler;
|
||||||
|
|
|
@ -18,6 +18,7 @@ use metadata::decoder;
|
||||||
use metadata;
|
use metadata;
|
||||||
use middle::{ty, resolve};
|
use middle::{ty, resolve};
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use reader = extra::ebml::reader;
|
use reader = extra::ebml::reader;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_map;
|
use syntax::ast_map;
|
||||||
|
|
|
@ -18,6 +18,7 @@ use metadata::cstore;
|
||||||
use metadata::decoder;
|
use metadata::decoder;
|
||||||
|
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::vec;
|
||||||
use extra;
|
use extra;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::parse::token::ident_interner;
|
use syntax::parse::token::ident_interner;
|
||||||
|
|
|
@ -22,9 +22,14 @@ use middle::ty;
|
||||||
use middle;
|
use middle;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
use extra::flate;
|
|
||||||
use core::hash::HashUtil;
|
use core::hash::HashUtil;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::int;
|
||||||
|
use core::io;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
use extra::flate;
|
||||||
use extra::serialize::Encodable;
|
use extra::serialize::Encodable;
|
||||||
use extra;
|
use extra;
|
||||||
use syntax::abi::AbiSet;
|
use syntax::abi::AbiSet;
|
||||||
|
@ -34,10 +39,10 @@ use syntax::ast_map;
|
||||||
use syntax::ast_util::*;
|
use syntax::ast_util::*;
|
||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
use syntax::diagnostic::span_handler;
|
use syntax::diagnostic::span_handler;
|
||||||
use syntax::parse::token::special_idents;
|
|
||||||
use syntax::{ast_util, visit};
|
|
||||||
use syntax::opt_vec::OptVec;
|
use syntax::opt_vec::OptVec;
|
||||||
use syntax::opt_vec;
|
use syntax::opt_vec;
|
||||||
|
use syntax::parse::token::special_idents;
|
||||||
|
use syntax::{ast_util, visit};
|
||||||
use syntax;
|
use syntax;
|
||||||
use writer = extra::ebml::writer;
|
use writer = extra::ebml::writer;
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,11 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::option;
|
||||||
|
use core::os;
|
||||||
|
use core::result;
|
||||||
|
use core::str;
|
||||||
|
|
||||||
// A module for searching for libraries
|
// A module for searching for libraries
|
||||||
// FIXME (#2658): I'm not happy how this module turned out. Should
|
// FIXME (#2658): I'm not happy how this module turned out. Should
|
||||||
// probably just be folded into cstore.
|
// probably just be folded into cstore.
|
||||||
|
|
|
@ -23,8 +23,15 @@ use syntax::parse::token::ident_interner;
|
||||||
use syntax::print::pprust;
|
use syntax::print::pprust;
|
||||||
use syntax::{ast, attr};
|
use syntax::{ast, attr};
|
||||||
|
|
||||||
use extra::flate;
|
use core::cast;
|
||||||
|
use core::io;
|
||||||
|
use core::option;
|
||||||
use core::os::consts::{macos, freebsd, linux, android, win32};
|
use core::os::consts::{macos, freebsd, linux, android, win32};
|
||||||
|
use core::ptr;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
use extra::flate;
|
||||||
|
|
||||||
pub enum os {
|
pub enum os {
|
||||||
os_macos,
|
os_macos,
|
||||||
|
|
|
@ -18,6 +18,9 @@ use core::prelude::*;
|
||||||
|
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use syntax::abi::AbiSet;
|
use syntax::abi::AbiSet;
|
||||||
use syntax::abi;
|
use syntax::abi;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
|
|
|
@ -25,6 +25,9 @@ use middle::{ty, typeck, moves};
|
||||||
use middle;
|
use middle;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
|
use core::at_vec;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
use extra::ebml::reader;
|
use extra::ebml::reader;
|
||||||
use extra::ebml;
|
use extra::ebml;
|
||||||
use extra::serialize;
|
use extra::serialize;
|
||||||
|
|
|
@ -19,17 +19,18 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use middle::moves;
|
|
||||||
use middle::borrowck::*;
|
|
||||||
use mc = middle::mem_categorization;
|
|
||||||
use middle::ty;
|
|
||||||
use util::ppaux::Repr;
|
|
||||||
use core::hashmap::HashSet;
|
use core::hashmap::HashSet;
|
||||||
|
use core::uint;
|
||||||
|
use mc = middle::mem_categorization;
|
||||||
|
use middle::borrowck::*;
|
||||||
|
use middle::moves;
|
||||||
|
use middle::ty;
|
||||||
use syntax::ast::{m_mutbl, m_imm, m_const};
|
use syntax::ast::{m_mutbl, m_imm, m_const};
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_util;
|
use syntax::ast_util;
|
||||||
use syntax::visit;
|
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
use syntax::visit;
|
||||||
|
use util::ppaux::Repr;
|
||||||
|
|
||||||
struct CheckLoanCtxt<'self> {
|
struct CheckLoanCtxt<'self> {
|
||||||
bccx: @BorrowckCtxt,
|
bccx: @BorrowckCtxt,
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use middle::borrowck::*;
|
use middle::borrowck::*;
|
||||||
use mc = middle::mem_categorization;
|
use mc = middle::mem_categorization;
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
|
|
|
@ -23,8 +23,9 @@ use util::ppaux::{note_and_explain_region, Repr, UserString};
|
||||||
|
|
||||||
use core::hashmap::{HashSet, HashMap};
|
use core::hashmap::{HashSet, HashMap};
|
||||||
use core::io;
|
use core::io;
|
||||||
use core::result::{Result};
|
|
||||||
use core::ops::{BitOr, BitAnd};
|
use core::ops::{BitOr, BitAnd};
|
||||||
|
use core::result::{Result};
|
||||||
|
use core::str;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_map;
|
use syntax::ast_map;
|
||||||
use syntax::visit;
|
use syntax::visit;
|
||||||
|
|
|
@ -16,7 +16,9 @@ comments in the section "Moves and initialization" and in `doc.rs`.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::hashmap::{HashMap, HashSet};
|
||||||
|
use core::uint;
|
||||||
use middle::borrowck::*;
|
use middle::borrowck::*;
|
||||||
use middle::dataflow::DataFlowContext;
|
use middle::dataflow::DataFlowContext;
|
||||||
use middle::dataflow::DataFlowOperator;
|
use middle::dataflow::DataFlowOperator;
|
||||||
|
|
|
@ -19,6 +19,8 @@ use middle::typeck::method_map;
|
||||||
use middle::moves;
|
use middle::moves;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use extra::sort;
|
use extra::sort;
|
||||||
use syntax::ast::*;
|
use syntax::ast::*;
|
||||||
use syntax::ast_util::{unguarded_pat, walk_pat};
|
use syntax::ast_util::{unguarded_pat, walk_pat};
|
||||||
|
|
|
@ -18,7 +18,9 @@ use middle;
|
||||||
use syntax::{ast, ast_map, ast_util, visit};
|
use syntax::{ast, ast_map, ast_util, visit};
|
||||||
use syntax::ast::*;
|
use syntax::ast::*;
|
||||||
|
|
||||||
|
use core::float;
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::hashmap::{HashMap, HashSet};
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
//
|
//
|
||||||
// This pass classifies expressions by their constant-ness.
|
// This pass classifies expressions by their constant-ness.
|
||||||
|
|
|
@ -19,7 +19,10 @@
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::cast;
|
use core::cast;
|
||||||
|
use core::io;
|
||||||
|
use core::str;
|
||||||
use core::uint;
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_util;
|
use syntax::ast_util;
|
||||||
use syntax::ast_util::id_range;
|
use syntax::ast_util::id_range;
|
||||||
|
|
|
@ -73,15 +73,17 @@ pub fn check_crate(tcx: ty::ctxt,
|
||||||
|
|
||||||
let visitor = visit::mk_vt(@visit::Visitor {
|
let visitor = visit::mk_vt(@visit::Visitor {
|
||||||
visit_fn: |fn_kind, fn_decl, block, span, node_id, _, visitor| {
|
visit_fn: |fn_kind, fn_decl, block, span, node_id, _, visitor| {
|
||||||
let is_unsafe_fn = match *fn_kind {
|
let (is_item_fn, is_unsafe_fn) = match *fn_kind {
|
||||||
fk_item_fn(_, _, purity, _) => purity == unsafe_fn,
|
fk_item_fn(_, _, purity, _) => (true, purity == unsafe_fn),
|
||||||
fk_method(_, _, method) => method.purity == unsafe_fn,
|
fk_method(_, _, method) => (true, method.purity == unsafe_fn),
|
||||||
_ => false,
|
_ => (false, false),
|
||||||
};
|
};
|
||||||
|
|
||||||
let old_unsafe_context = context.unsafe_context;
|
let old_unsafe_context = context.unsafe_context;
|
||||||
if is_unsafe_fn {
|
if is_unsafe_fn {
|
||||||
context.unsafe_context = UnsafeFn
|
context.unsafe_context = UnsafeFn
|
||||||
|
} else if is_item_fn {
|
||||||
|
context.unsafe_context = SafeContext
|
||||||
}
|
}
|
||||||
|
|
||||||
visit::visit_fn(fn_kind,
|
visit::visit_fn(fn_kind,
|
||||||
|
@ -97,7 +99,8 @@ pub fn check_crate(tcx: ty::ctxt,
|
||||||
|
|
||||||
visit_block: |block, _, visitor| {
|
visit_block: |block, _, visitor| {
|
||||||
let old_unsafe_context = context.unsafe_context;
|
let old_unsafe_context = context.unsafe_context;
|
||||||
if block.node.rules == unsafe_blk {
|
if block.node.rules == unsafe_blk &&
|
||||||
|
context.unsafe_context == SafeContext {
|
||||||
context.unsafe_context = UnsafeBlock(block.node.id)
|
context.unsafe_context = UnsafeBlock(block.node.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ use middle::resolve;
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
|
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::vec;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
use syntax::{ast, ast_util, visit};
|
use syntax::{ast, ast_util, visit};
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ use middle::typeck;
|
||||||
use util::ppaux::{Repr, ty_to_str};
|
use util::ppaux::{Repr, ty_to_str};
|
||||||
use util::ppaux::UserString;
|
use util::ppaux::UserString;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use syntax::ast::*;
|
use syntax::ast::*;
|
||||||
use syntax::attr::attrs_contains_name;
|
use syntax::attr::attrs_contains_name;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
|
|
@ -15,7 +15,19 @@ use middle::ty;
|
||||||
use middle::pat_util;
|
use middle::pat_util;
|
||||||
use util::ppaux::{ty_to_str};
|
use util::ppaux::{ty_to_str};
|
||||||
|
|
||||||
|
use core::char;
|
||||||
|
use core::cmp;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::i16;
|
||||||
|
use core::i32;
|
||||||
|
use core::i64;
|
||||||
|
use core::i8;
|
||||||
|
use core::str;
|
||||||
|
use core::u16;
|
||||||
|
use core::u32;
|
||||||
|
use core::u64;
|
||||||
|
use core::u8;
|
||||||
|
use core::vec;
|
||||||
use extra::smallintmap::SmallIntMap;
|
use extra::smallintmap::SmallIntMap;
|
||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
|
|
@ -112,6 +112,11 @@ use middle::moves;
|
||||||
|
|
||||||
use core::cast::transmute;
|
use core::cast::transmute;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::io;
|
||||||
|
use core::old_iter;
|
||||||
|
use core::to_str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast::*;
|
use syntax::ast::*;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
use syntax::parse::token::special_idents;
|
use syntax::parse::token::special_idents;
|
||||||
|
|
|
@ -53,6 +53,7 @@ use middle::typeck;
|
||||||
use util::ppaux::{ty_to_str, region_to_str, Repr};
|
use util::ppaux::{ty_to_str, region_to_str, Repr};
|
||||||
use util::common::indenter;
|
use util::common::indenter;
|
||||||
|
|
||||||
|
use core::uint;
|
||||||
use syntax::ast::{m_imm, m_const, m_mutbl};
|
use syntax::ast::{m_imm, m_const, m_mutbl};
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
|
|
@ -136,6 +136,7 @@ use util::ppaux;
|
||||||
use util::ppaux::Repr;
|
use util::ppaux::Repr;
|
||||||
use util::common::indenter;
|
use util::common::indenter;
|
||||||
|
|
||||||
|
use core::at_vec;
|
||||||
use core::hashmap::{HashSet, HashMap};
|
use core::hashmap::{HashSet, HashMap};
|
||||||
use syntax::ast::*;
|
use syntax::ast::*;
|
||||||
use syntax::ast_util;
|
use syntax::ast_util;
|
||||||
|
|
|
@ -39,8 +39,10 @@ use syntax::visit::{visit_foreign_item, visit_item};
|
||||||
use syntax::visit::{visit_mod, visit_ty, vt};
|
use syntax::visit::{visit_mod, visit_ty, vt};
|
||||||
use syntax::opt_vec::OptVec;
|
use syntax::opt_vec::OptVec;
|
||||||
|
|
||||||
use core::option::Some;
|
|
||||||
use core::str::each_split_str;
|
use core::str::each_split_str;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::hashmap::{HashMap, HashSet};
|
||||||
use core::util;
|
use core::util;
|
||||||
|
|
||||||
|
|
|
@ -168,6 +168,7 @@ use middle::ty;
|
||||||
use util::common::indenter;
|
use util::common::indenter;
|
||||||
|
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast::ident;
|
use syntax::ast::ident;
|
||||||
use syntax::ast_util::path_to_ident;
|
use syntax::ast_util::path_to_ident;
|
||||||
|
|
|
@ -20,6 +20,7 @@ use middle::trans::callee;
|
||||||
use middle::trans::common::*;
|
use middle::trans::common::*;
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
|
|
||||||
// Take an inline assembly expression and splat it out via LLVM
|
// Take an inline assembly expression and splat it out via LLVM
|
||||||
|
|
|
@ -66,7 +66,12 @@ use util::ppaux::{Repr, ty_to_str};
|
||||||
|
|
||||||
use core::hash;
|
use core::hash;
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::hashmap::{HashMap, HashSet};
|
||||||
|
use core::int;
|
||||||
|
use core::io;
|
||||||
use core::libc::c_uint;
|
use core::libc::c_uint;
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use extra::time;
|
use extra::time;
|
||||||
use syntax::ast::ident;
|
use syntax::ast::ident;
|
||||||
use syntax::ast_map::{path, path_elt_to_str, path_name};
|
use syntax::ast_map::{path, path_elt_to_str, path_name};
|
||||||
|
|
|
@ -19,8 +19,11 @@ use middle::trans::common::*;
|
||||||
use middle::trans::machine::llalign_of_min;
|
use middle::trans::machine::llalign_of_min;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
|
||||||
|
use core::cast;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
use core::libc::{c_uint, c_ulonglong, c_char};
|
use core::libc::{c_uint, c_ulonglong, c_char};
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
|
|
||||||
pub fn terminate(cx: block, _: &str) {
|
pub fn terminate(cx: block, _: &str) {
|
||||||
cx.terminated = true;
|
cx.terminated = true;
|
||||||
|
|
|
@ -11,6 +11,9 @@
|
||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::libc::c_uint;
|
use core::libc::c_uint;
|
||||||
|
use core::ptr;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use lib::llvm::{llvm, TypeRef, Integer, Pointer, Float, Double};
|
use lib::llvm::{llvm, TypeRef, Integer, Pointer, Float, Double};
|
||||||
use lib::llvm::{Struct, Array, Attribute};
|
use lib::llvm::{Struct, Array, Attribute};
|
||||||
use lib::llvm::{StructRetAttribute};
|
use lib::llvm::{StructRetAttribute};
|
||||||
|
|
|
@ -43,6 +43,7 @@ use middle::ty;
|
||||||
use middle::typeck;
|
use middle::typeck;
|
||||||
use util::ppaux::Repr;
|
use util::ppaux::Repr;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_map;
|
use syntax::ast_map;
|
||||||
use syntax::visit;
|
use syntax::visit;
|
||||||
|
|
|
@ -26,6 +26,8 @@ use middle::trans::type_of::*;
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_map::path_name;
|
use syntax::ast_map::path_name;
|
||||||
use syntax::ast_util;
|
use syntax::ast_util;
|
||||||
|
|
|
@ -40,11 +40,15 @@ use middle::borrowck::root_map_key;
|
||||||
use util::ppaux::{Repr};
|
use util::ppaux::{Repr};
|
||||||
|
|
||||||
use core::cast::transmute;
|
use core::cast::transmute;
|
||||||
|
use core::cast;
|
||||||
use core::hash;
|
use core::hash;
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::hashmap::{HashMap, HashSet};
|
||||||
use core::libc::{c_uint, c_longlong, c_ulonglong};
|
use core::libc::{c_uint, c_longlong, c_ulonglong};
|
||||||
|
use core::ptr;
|
||||||
|
use core::str;
|
||||||
use core::to_bytes;
|
use core::to_bytes;
|
||||||
use core::vec::raw::to_ptr;
|
use core::vec::raw::to_ptr;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast::ident;
|
use syntax::ast::ident;
|
||||||
use syntax::ast_map::{path, path_elt};
|
use syntax::ast_map::{path, path_elt};
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
|
|
@ -31,6 +31,7 @@ use middle::ty;
|
||||||
use util::ppaux::{Repr, ty_to_str};
|
use util::ppaux::{Repr, ty_to_str};
|
||||||
|
|
||||||
use core::libc::c_uint;
|
use core::libc::c_uint;
|
||||||
|
use core::str;
|
||||||
use syntax::{ast, ast_util, ast_map};
|
use syntax::{ast, ast_util, ast_map};
|
||||||
|
|
||||||
pub fn const_lit(cx: @CrateContext, e: @ast::expr, lit: ast::lit)
|
pub fn const_lit(cx: @CrateContext, e: @ast::expr, lit: ast::lit)
|
||||||
|
|
|
@ -24,6 +24,8 @@ use middle::ty;
|
||||||
use util::common::indenter;
|
use util::common::indenter;
|
||||||
use util::ppaux;
|
use util::ppaux;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast::ident;
|
use syntax::ast::ident;
|
||||||
use syntax::ast_map::path_mod;
|
use syntax::ast_map::path_mod;
|
||||||
|
|
|
@ -104,6 +104,7 @@ use util::common::indenter;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
use core::to_bytes;
|
use core::to_bytes;
|
||||||
|
use core::uint;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
use syntax::parse::token::special_idents;
|
use syntax::parse::token::special_idents;
|
||||||
|
|
|
@ -20,8 +20,14 @@ use middle::trans;
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
|
use core::cast;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
use core::libc;
|
use core::libc;
|
||||||
|
use core::option;
|
||||||
|
use core::ptr;
|
||||||
|
use core::str;
|
||||||
|
use core::sys;
|
||||||
|
use core::vec;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
use syntax::parse::token::ident_interner;
|
use syntax::parse::token::ident_interner;
|
||||||
use syntax::{ast, codemap, ast_util, ast_map};
|
use syntax::{ast, codemap, ast_util, ast_map};
|
||||||
|
|
|
@ -154,6 +154,7 @@ use util::ppaux::Repr;
|
||||||
|
|
||||||
use core::cast::transmute;
|
use core::cast::transmute;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::vec;
|
||||||
use syntax::print::pprust::{expr_to_str};
|
use syntax::print::pprust::{expr_to_str};
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::codemap;
|
use syntax::codemap;
|
||||||
|
|
|
@ -34,6 +34,9 @@ use middle::ty;
|
||||||
use middle::ty::FnSig;
|
use middle::ty::FnSig;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
use syntax::{ast, ast_util};
|
use syntax::{ast, ast_util};
|
||||||
use syntax::{attr, ast_map};
|
use syntax::{attr, ast_map};
|
||||||
|
|
|
@ -36,7 +36,10 @@ use middle::ty;
|
||||||
use util::ppaux;
|
use util::ppaux;
|
||||||
use util::ppaux::ty_to_short_str;
|
use util::ppaux::ty_to_short_str;
|
||||||
|
|
||||||
|
use core::io;
|
||||||
use core::libc::c_uint;
|
use core::libc::c_uint;
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
use extra::time;
|
use extra::time;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ use middle::trans::common::*;
|
||||||
use middle::ty;
|
use middle::ty;
|
||||||
use util::ppaux::ty_to_str;
|
use util::ppaux::ty_to_str;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_map::path_name;
|
use syntax::ast_map::path_name;
|
||||||
use syntax::ast_util::local_def;
|
use syntax::ast_util::local_def;
|
||||||
|
|
|
@ -31,6 +31,8 @@ use middle::typeck;
|
||||||
use util::common::indenter;
|
use util::common::indenter;
|
||||||
use util::ppaux::Repr;
|
use util::ppaux::Repr;
|
||||||
|
|
||||||
|
use core::str;
|
||||||
|
use core::vec;
|
||||||
use syntax::ast_map::{path, path_mod, path_name};
|
use syntax::ast_map::{path, path_mod, path_name};
|
||||||
use syntax::ast_util;
|
use syntax::ast_util;
|
||||||
use syntax::{ast, ast_map};
|
use syntax::{ast, ast_map};
|
||||||
|
|
|
@ -32,6 +32,7 @@ use middle::ty::{FnSig};
|
||||||
use middle::typeck;
|
use middle::typeck;
|
||||||
use util::ppaux::Repr;
|
use util::ppaux::Repr;
|
||||||
|
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_map;
|
use syntax::ast_map;
|
||||||
use syntax::ast_map::path_name;
|
use syntax::ast_map::path_name;
|
||||||
|
|
|
@ -27,9 +27,17 @@ use util::ppaux::{Repr, UserString};
|
||||||
use util::common::{indenter};
|
use util::common::{indenter};
|
||||||
use util::enum_set::{EnumSet, CLike};
|
use util::enum_set::{EnumSet, CLike};
|
||||||
|
|
||||||
|
use core::cast;
|
||||||
|
use core::cmp;
|
||||||
|
use core::hashmap::{HashMap, HashSet};
|
||||||
|
use core::iter;
|
||||||
|
use core::ops;
|
||||||
use core::ptr::to_unsafe_ptr;
|
use core::ptr::to_unsafe_ptr;
|
||||||
use core::to_bytes;
|
use core::to_bytes;
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::u32;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
|
use extra::smallintmap::SmallIntMap;
|
||||||
use syntax::ast::*;
|
use syntax::ast::*;
|
||||||
use syntax::ast_util::is_local;
|
use syntax::ast_util::is_local;
|
||||||
use syntax::ast_util;
|
use syntax::ast_util;
|
||||||
|
|
|
@ -63,6 +63,8 @@ use middle::typeck::rscope::{region_scope, RegionError};
|
||||||
use middle::typeck::rscope::RegionParamNames;
|
use middle::typeck::rscope::RegionParamNames;
|
||||||
use middle::typeck::lookup_def_tcx;
|
use middle::typeck::lookup_def_tcx;
|
||||||
|
|
||||||
|
use core::result;
|
||||||
|
use core::vec;
|
||||||
use syntax::abi::AbiSet;
|
use syntax::abi::AbiSet;
|
||||||
use syntax::{ast, ast_util};
|
use syntax::{ast, ast_util};
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
|
|
@ -19,6 +19,7 @@ use middle::typeck::check::{structure_of, valid_range_bounds};
|
||||||
use middle::typeck::require_same_types;
|
use middle::typeck::require_same_types;
|
||||||
|
|
||||||
use core::hashmap::{HashMap, HashSet};
|
use core::hashmap::{HashMap, HashSet};
|
||||||
|
use core::vec;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
use syntax::ast_util;
|
use syntax::ast_util;
|
||||||
use syntax::codemap::span;
|
use syntax::codemap::span;
|
||||||
|
|
|
@ -96,6 +96,9 @@ use middle::typeck::check::regionmanip::replace_bound_regions_in_fn_sig;
|
||||||
use util::common::indenter;
|
use util::common::indenter;
|
||||||
|
|
||||||
use core::hashmap::HashSet;
|
use core::hashmap::HashSet;
|
||||||
|
use core::result;
|
||||||
|
use core::uint;
|
||||||
|
use core::vec;
|
||||||
use extra::list::Nil;
|
use extra::list::Nil;
|
||||||
use syntax::ast::{def_id, sty_value, sty_region, sty_box};
|
use syntax::ast::{def_id, sty_value, sty_region, sty_box};
|
||||||
use syntax::ast::{sty_uniq, sty_static, node_id};
|
use syntax::ast::{sty_uniq, sty_static, node_id};
|
||||||
|
|
|
@ -111,7 +111,10 @@ use util::ppaux;
|
||||||
|
|
||||||
use core::cast::transmute;
|
use core::cast::transmute;
|
||||||
use core::hashmap::HashMap;
|
use core::hashmap::HashMap;
|
||||||
|
use core::result;
|
||||||
|
use core::str;
|
||||||
use core::util::replace;
|
use core::util::replace;
|
||||||
|
use core::vec;
|
||||||
use extra::list::Nil;
|
use extra::list::Nil;
|
||||||
use syntax::abi::AbiSet;
|
use syntax::abi::AbiSet;
|
||||||
use syntax::ast::{provided, required};
|
use syntax::ast::{provided, required};
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue