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

31 lines
909 B
Rust

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