rust/src/test/run-pass/coerce-reborrow-imm-vec-arg.rs
Patrick Walton e78f2e2ac5 librustc: Make the compiler ignore purity.
For bootstrapping purposes, this commit does not remove all uses of
the keyword "pure" -- doing so would cause the compiler to no longer
bootstrap due to some syntax extensions ("deriving" in particular).
Instead, it makes the compiler ignore "pure". Post-snapshot, we can
remove "pure" from the language.

There are quite a few (~100) borrow check errors that were essentially
all the result of mutable fields or partial borrows of `@mut`. Per
discussions with Niko I think we want to allow partial borrows of
`@mut` but detect obvious footguns. We should also improve the error
message when `@mut` is erroneously reborrowed.
2013-03-18 17:21:16 -07:00

22 lines
285 B
Rust

// xfail-test
pure fn sum(x: &[int]) -> int {
let mut sum = 0;
for x.each |y| { sum += *y; }
return sum;
}
fn sum_mut(y: &mut [int]) -> int {
sum(y)
}
fn sum_imm(y: &[int]) -> int {
sum(y)
}
fn sum_const(y: &[const int]) -> int {
sum(y)
}
pub fn main() {}