rustc: Implement a new resolve pass behind a compile flag

This commit is contained in:
Patrick Walton 2012-05-22 10:54:12 -07:00
parent 0b1edb7f0e
commit f093d374ed
42 changed files with 4336 additions and 163 deletions

View file

@ -27,8 +27,8 @@ io::println(comm::recv(p));
import either::either;
import libc::size_t;
export port::{};
export chan::{};
export port;
export chan;
export send;
export recv;
export peek;

View file

@ -200,6 +200,7 @@ impl extensions<A:copy> for dvec<A> {
}
}
/*
#[doc = "
Append all elements of an iterable.
@ -222,6 +223,7 @@ impl extensions<A:copy> for dvec<A> {
v
}
}
*/
#[doc = "
Gets a copy of the current contents.
@ -267,7 +269,28 @@ impl extensions<A:copy> for dvec<A> {
}
#[doc = "Returns the last element, failing if the vector is empty"]
#[inline(always)]
fn last() -> A {
self.get_elt(self.len() - 1u)
self.check_not_borrowed();
let length = self.len();
if length == 0u {
fail "attempt to retrieve the last element of an empty vector";
}
ret self.data[length - 1u];
}
#[doc="Iterates over the elements in reverse order"]
#[inline(always)]
fn reach(f: fn(A) -> bool) {
let length = self.len();
let mut i = 0u;
while i < length {
if !f(self.get_elt(i)) {
break;
}
i += 1u;
}
}
}

View file

@ -14,7 +14,6 @@ io::println(#fmt(\"fib(5000) = %?\", delayed_fib.get()))
import either::either;
export future;
export future::{};
export from_value;
export from_port;
export from_fn;

View file

@ -6,6 +6,7 @@ avoid needing a single global lock."]
import arc::methods;
import dvec::dvec;
import dvec::{extensions};
import sys::methods;
export port;
export chan;

View file

@ -24,6 +24,7 @@ spawn {||
import result::result;
import dvec::extensions;
import dvec_iter::extensions;
export task;
export task_result;
@ -31,7 +32,7 @@ export notification;
export sched_mode;
export sched_opts;
export task_opts;
export builder::{};
export builder;
export default_task_opts;
export get_opts;