//@ run-pass | |
// Issue 483 - Assignment expressions result in nil | |
fn test_assign() { | |
let mut x: isize; | |
let y: () = x = 10; | |
assert_eq!(x, 10); | |
assert_eq!(y, ()); | |
let mut z: () = x = 11; | |
assert_eq!(x, 11); | |
assert_eq!(z, ()); | |
z = x = 12; | |
assert_eq!(x, 12); | |
assert_eq!(z, ()); | |
} | |
fn test_assign_op() { | |
let mut x: isize = 0; | |
let y: () = x += 10; | |
assert_eq!(x, 10); | |
assert_eq!(y, ()); | |
let mut z: () = x += 11; | |
assert_eq!(x, 21); | |
assert_eq!(z, ()); | |
z = x += 12; | |
assert_eq!(x, 33); | |
assert_eq!(z, ()); | |
} | |
pub fn main() { test_assign(); test_assign_op(); } |