rust/src/test/compile-fail/evec-subtyping.rs

31 lines
921 B
Rust
Raw Normal View History

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() {
}