about summary refs log tree commit diff
path: root/src/libcore/box.rs
blob: 28323f49ff01ded16a134e045a52d6fe8c7930f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#[doc = "Operations on shared box types"];

export ptr_eq;

pure fn ptr_eq<T>(a: @T, b: @T) -> bool unchecked {
    #[doc = "Determine if two shared boxes point to the same object"];
    ptr::addr_of(*a) == ptr::addr_of(*b)
}

#[test]
fn test() {
    let x = @3;
    let y = @3;
    assert (ptr_eq::<int>(x, x));
    assert (ptr_eq::<int>(y, y));
    assert (!ptr_eq::<int>(x, y));
    assert (!ptr_eq::<int>(y, x));
}