rust/src/test/compile-fail/evec-subtyping.rs
2012-04-14 18:48:58 -07:00

31 lines
921 B
Rust

fn wants_box(x: [uint]/@) { }
fn wants_uniq(x: [uint]/~) { }
fn wants_three(x: [uint]/3) { }
fn has_box(x: [uint]/@) {
wants_box(x);
wants_uniq(x); //! ERROR [] storage differs: expected ~ but found @
wants_three(x); //! ERROR [] storage differs: expected 3 but found @
}
fn has_uniq(x: [uint]/~) {
wants_box(x); //! ERROR [] storage differs: expected @ but found ~
wants_uniq(x);
wants_three(x); //! ERROR [] storage differs: expected 3 but found ~
}
fn has_three(x: [uint]/3) {
wants_box(x); //! ERROR [] storage differs: expected @ but found 3
wants_uniq(x); //! ERROR [] storage differs: expected ~ but found 3
wants_three(x);
}
fn has_four(x: [uint]/4) {
wants_box(x); //! ERROR [] storage differs: expected @ but found 4
wants_uniq(x); //! ERROR [] storage differs: expected ~ but found 4
wants_three(x); //! ERROR [] storage differs: expected 3 but found 4
}
fn main() {
}