// run-pass
#![feature(box_syntax)]

pub fn main() {
    let mut a: Vec<Box<_>> = vec![box 10];
    let b = a.clone();

    assert_eq!(*a[0], 10);
    assert_eq!(*b[0], 10);

    // This should only modify the value in a, not b
    *a[0] = 20;

    assert_eq!(*a[0], 20);
    assert_eq!(*b[0], 10);
}
