18 lines
245 B
Rust
18 lines
245 B
Rust
//@ check-pass
|
|
|
|
enum Nat {
|
|
S(Box<Nat>),
|
|
Z
|
|
}
|
|
fn test(x: &mut Nat) {
|
|
let mut p = &mut *x;
|
|
loop {
|
|
match p {
|
|
&mut Nat::Z => break,
|
|
&mut Nat::S(ref mut n) => p = &mut *n
|
|
}
|
|
}
|
|
}
|
|
|
|
fn main() {}
|