edb747ceed
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).
20 lines
304 B
Rust
20 lines
304 B
Rust
// error-pattern:assigning to immutable class field
|
|
class cat {
|
|
priv {
|
|
let mutable meows : uint;
|
|
}
|
|
|
|
let how_hungry : int;
|
|
|
|
fn eat() {
|
|
how_hungry -= 5;
|
|
}
|
|
|
|
new(in_x : uint, in_y : int) { meows = in_x; how_hungry = in_y; }
|
|
}
|
|
|
|
fn main() {
|
|
let nyan : cat = cat(52u, 99);
|
|
nyan.eat();
|
|
}
|