blob: 4a5d879a32dfb46e938d6a91084c59c5859313ef (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// 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
}
trait modify_in_box_rec {
pure fn modify_in_box_rec(sum: @{mut f: int});
}
impl int: modify_in_box_rec {
pure fn modify_in_box_rec(sum: @{mut f: int}) {
sum.f = self; //~ ERROR assigning to mutable field prohibited in pure context
}
}
fn main() {
}
|