rustc: Implement a new resolve pass behind a compile flag
This commit is contained in:
parent
0b1edb7f0e
commit
f093d374ed
42 changed files with 4336 additions and 163 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue