
1. Enforce mutability declarations on class fields. Don't allow any mutation of class fields not declared as mutable (except inside the constructor). 2. Handle classes correctly in shape (treat classes like records).
15 lines
268 B
Rust
15 lines
268 B
Rust
// error-pattern:assigning to immutable field
|
|
class cat {
|
|
priv {
|
|
let mutable meows : uint;
|
|
}
|
|
|
|
let how_hungry : int;
|
|
|
|
new(in_x : uint, in_y : int) { meows = in_x; how_hungry = in_y; }
|
|
}
|
|
|
|
fn main() {
|
|
let nyan : cat = cat(52u, 99);
|
|
nyan.how_hungry = 0;
|
|
}
|