rust/src/test/compile-fail/pure-modifies-aliased.rs
Niko Matsakis 9773a22119 shuffle error messages in borrowck, and prevent it from spewing too many
also, fix a few minor issues it complains about
2012-05-23 12:01:27 -07:00

18 lines
491 B
Rust

// Check that pure functions cannot modify aliased state.
pure fn modify_in_ref(&&sum: {mut f: int}) {
sum.f = 3; //! ERROR assigning to mutable field prohibited in pure context
}
pure fn modify_in_box(sum: @mut {f: int}) {
sum.f = 3; //! ERROR assigning to mutable field prohibited in pure context
}
impl foo for int {
pure fn modify_in_box_rec(sum: @{mut f: int}) {
sum.f = self; //! ERROR assigning to mutable field prohibited in pure context
}
}
fn main() {
}