summary refs log tree commit diff
path: root/src/test/run-pass/impl-variance.rs
blob: 3ad13779b736504c3fd1744f367920e802c7fcb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
trait foo {
    fn foo() -> uint;
}

impl<T> ~[const T]: foo {
    fn foo() -> uint { vec::len(self) }
}

fn main() {
    let v = ~[const 0];
    assert v.foo() == 1u;
    let v = ~[0];
    assert v.foo() == 1u;
    let v = ~[mut 0];
    assert v.foo() == 1u;
}