This commit is contained in:
Niko Matsakis 2012-05-23 06:13:54 -07:00
parent e0f59e835e
commit b93839408c

View File

@ -0,0 +1,33 @@
// xfail-fast (compile-flags unsupported on windows)
// compile-flags:--borrowck=err
fn impure(_i: int) {}
fn foo(v: &const option<int>) {
alt *v {
some(i) {
//!^ NOTE pure context is required due to an illegal borrow: enum variant in aliasable, mutable location
// check that unchecked alone does not override borrowck:
unchecked {
impure(i); //! ERROR access to non-pure functions prohibited in a pure context
}
}
none {
}
}
}
fn bar(v: &const option<int>) {
alt *v {
some(i) {
unsafe {
impure(i);
}
}
none {
}
}
}
fn main() {
}