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

31 lines
905 B
Rust
Raw Normal View History

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