rust/src/test/run-pass/lib-vec-str-conversions.rs

42 lines
799 B
Rust
Raw Normal View History

// -*- rust -*-
use std;
import std._str;
import std._vec;
fn test_simple() {
let str s1 = "All mimsy were the borogoves";
/*
* FIXME from_bytes(vec[u8] v) has constraint is_utf(v), which is
* unimplemented and thereby just fails. This doesn't stop us from
* using from_bytes for now since the constraint system isn't fully
* working, but we should implement is_utf8 before that happens.
*/
let vec[u8] v = _str.bytes(s1);
let str s2 = _str.from_bytes(v);
let uint i = 0u;
let uint n1 = _str.byte_len(s1);
let uint n2 = _vec.len[u8](v);
assert (n1 == n2);
while (i < n1) {
let u8 a = s1.(i);
let u8 b = s2.(i);
log a;
log b;
assert (a == b);
i += 1u;
}
log "refcnt is";
log _str.refcount(s1);
}
fn main() {
test_simple();
}