about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-08-11 16:36:20 -0700
committerBrian Anderson <banderson@mozilla.com>2011-08-12 12:08:26 -0700
commit2e7e58812b4b6a295c06f73b72288dcf8cd801cb (patch)
tree4ad2ecf7166b6cd7cb867c5344145914d1d2e0f6
parentd6626143cccc0599d2b5ac6e7627708273608063 (diff)
downloadrust-2e7e58812b4b6a295c06f73b72288dcf8cd801cb.tar.gz
rust-2e7e58812b4b6a295c06f73b72288dcf8cd801cb.zip
Remove vec version of str::bytes, rename bytes_ivec to str::bytes
-rw-r--r--src/comp/metadata/decoder.rs2
-rw-r--r--src/comp/metadata/encoder.rs24
-rw-r--r--src/lib/io.rs16
-rw-r--r--src/lib/ioivec.rs14
-rw-r--r--src/lib/sha1.rs2
-rw-r--r--src/lib/str.rs6
-rw-r--r--src/rt/rust_builtin.cpp26
-rw-r--r--src/rt/rustrt.def.in1
-rw-r--r--src/test/bench/shootout-pfib.rs4
-rw-r--r--src/test/bench/task-perf-spawnalot.rs3
-rw-r--r--src/test/bench/task-perf-word-count.rs2
-rw-r--r--src/test/run-pass/conditional-compile.rs4
-rw-r--r--src/test/run-pass/sio-read.rs2
-rw-r--r--src/test/run-pass/sio-write.rs2
-rw-r--r--src/test/run-pass/utf8_chars.rs3
-rw-r--r--src/test/stdtest/vec_str_conversions.rs3
16 files changed, 46 insertions, 68 deletions
diff --git a/src/comp/metadata/decoder.rs b/src/comp/metadata/decoder.rs
index 56bd7754290..63a29d0909d 100644
--- a/src/comp/metadata/decoder.rs
+++ b/src/comp/metadata/decoder.rs
@@ -98,7 +98,7 @@ fn item_type(item: &ebmlivec::doc, this_cnum: ast::crate_num, tcx: ty::ctxt,
     fn parse_external_def_id(this_cnum: ast::crate_num,
                              extres: &external_resolver, s: str) ->
        ast::def_id {
-        let buf = str::bytes_ivec(s);
+        let buf = str::bytes(s);
         let external_def_id = parse_def_id(buf);
 
 
diff --git a/src/comp/metadata/encoder.rs b/src/comp/metadata/encoder.rs
index c0af6817453..d91491efebe 100644
--- a/src/comp/metadata/encoder.rs
+++ b/src/comp/metadata/encoder.rs
@@ -26,13 +26,13 @@ type encode_ctxt = {ccx: @crate_ctxt, type_abbrevs: abbrev_map};
 // Path table encoding
 fn encode_name(ebml_w: &ebmlivec::writer, name: &str) {
     ebmlivec::start_tag(ebml_w, tag_paths_data_name);
-    ebml_w.writer.write(str::bytes_ivec(name));
+    ebml_w.writer.write(str::bytes(name));
     ebmlivec::end_tag(ebml_w);
 }
 
 fn encode_def_id(ebml_w: &ebmlivec::writer, id: &def_id) {
     ebmlivec::start_tag(ebml_w, tag_def_id);
-    ebml_w.writer.write(str::bytes_ivec(def_to_str(id)));
+    ebml_w.writer.write(str::bytes(def_to_str(id)));
     ebmlivec::end_tag(ebml_w);
 }
 
@@ -190,7 +190,7 @@ fn encode_type_param_kinds(ebml_w: &ebmlivec::writer, tps: &[ty_param]) {
 
 fn encode_variant_id(ebml_w: &ebmlivec::writer, vid: &def_id) {
     ebmlivec::start_tag(ebml_w, tag_items_data_item_variant);
-    ebml_w.writer.write(str::bytes_ivec(def_to_str(vid)));
+    ebml_w.writer.write(str::bytes(def_to_str(vid)));
     ebmlivec::end_tag(ebml_w);
 }
 
@@ -207,20 +207,20 @@ fn encode_type(ecx: &@encode_ctxt, ebml_w: &ebmlivec::writer, typ: &ty::t) {
 
 fn encode_symbol(ecx: &@encode_ctxt, ebml_w: &ebmlivec::writer, id: node_id) {
     ebmlivec::start_tag(ebml_w, tag_items_data_item_symbol);
-    ebml_w.writer.write(str::bytes_ivec(ecx.ccx.item_symbols.get(id)));
+    ebml_w.writer.write(str::bytes(ecx.ccx.item_symbols.get(id)));
     ebmlivec::end_tag(ebml_w);
 }
 
 fn encode_discriminant(ecx: &@encode_ctxt, ebml_w: &ebmlivec::writer,
                        id: node_id) {
     ebmlivec::start_tag(ebml_w, tag_items_data_item_symbol);
-    ebml_w.writer.write(str::bytes_ivec(ecx.ccx.discrim_symbols.get(id)));
+    ebml_w.writer.write(str::bytes(ecx.ccx.discrim_symbols.get(id)));
     ebmlivec::end_tag(ebml_w);
 }
 
 fn encode_tag_id(ebml_w: &ebmlivec::writer, id: &def_id) {
     ebmlivec::start_tag(ebml_w, tag_items_data_item_tag_id);
-    ebml_w.writer.write(str::bytes_ivec(def_to_str(id)));
+    ebml_w.writer.write(str::bytes(def_to_str(id)));
     ebmlivec::end_tag(ebml_w);
 }
 
@@ -443,7 +443,7 @@ fn encode_meta_item(ebml_w: &ebmlivec::writer, mi: &meta_item) {
       meta_word(name) {
         ebmlivec::start_tag(ebml_w, tag_meta_item_word);
         ebmlivec::start_tag(ebml_w, tag_meta_item_name);
-        ebml_w.writer.write(str::bytes_ivec(name));
+        ebml_w.writer.write(str::bytes(name));
         ebmlivec::end_tag(ebml_w);
         ebmlivec::end_tag(ebml_w);
       }
@@ -452,10 +452,10 @@ fn encode_meta_item(ebml_w: &ebmlivec::writer, mi: &meta_item) {
           lit_str(value, _) {
             ebmlivec::start_tag(ebml_w, tag_meta_item_name_value);
             ebmlivec::start_tag(ebml_w, tag_meta_item_name);
-            ebml_w.writer.write(str::bytes_ivec(name));
+            ebml_w.writer.write(str::bytes(name));
             ebmlivec::end_tag(ebml_w);
             ebmlivec::start_tag(ebml_w, tag_meta_item_value);
-            ebml_w.writer.write(str::bytes_ivec(value));
+            ebml_w.writer.write(str::bytes(value));
             ebmlivec::end_tag(ebml_w);
             ebmlivec::end_tag(ebml_w);
           }
@@ -465,7 +465,7 @@ fn encode_meta_item(ebml_w: &ebmlivec::writer, mi: &meta_item) {
       meta_list(name, items) {
         ebmlivec::start_tag(ebml_w, tag_meta_item_list);
         ebmlivec::start_tag(ebml_w, tag_meta_item_name);
-        ebml_w.writer.write(str::bytes_ivec(name));
+        ebml_w.writer.write(str::bytes(name));
         ebmlivec::end_tag(ebml_w);
         for inner_item: @meta_item  in items {
             encode_meta_item(ebml_w, *inner_item);
@@ -575,7 +575,7 @@ fn encode_crate_deps(ebml_w: &ebmlivec::writer, cstore: &cstore::cstore) {
     ebmlivec::start_tag(ebml_w, tag_crate_deps);
     for cname: str  in get_ordered_names(cstore) {
         ebmlivec::start_tag(ebml_w, tag_crate_dep);
-        ebml_w.writer.write(str::bytes_ivec(cname));
+        ebml_w.writer.write(str::bytes(cname));
         ebmlivec::end_tag(ebml_w);
     }
     ebmlivec::end_tag(ebml_w);
@@ -610,7 +610,7 @@ fn encode_metadata(cx: &@crate_ctxt, crate: &@crate) -> str {
     encode_index(ebml_w, items_buckets, write_int);
     ebmlivec::end_tag(ebml_w);
     // Pad this, since something (LLVM, presumably) is cutting off the
-    // remaining % 4 bytes_ivec.
+    // remaining % 4 bytes.
 
     buf_w.write(~[0u8, 0u8, 0u8, 0u8]);
     ret string_w.get_str();
diff --git a/src/lib/io.rs b/src/lib/io.rs
index a4b2891770c..5aa490349d1 100644
--- a/src/lib/io.rs
+++ b/src/lib/io.rs
@@ -340,18 +340,22 @@ fn uint_to_be_bytes(n: uint, size: uint) -> vec[u8] {
 
 obj new_writer(out: buf_writer) {
     fn get_buf_writer() -> buf_writer { ret out; }
-    fn write_str(s: str) { out.write(str::bytes(s)); }
+    fn write_str(s: str) { out.write(ivec::to_vec(str::bytes(s))); }
     fn write_line(s: str) {
-        out.write(str::bytes(s));
-        out.write(str::bytes("\n"));
+        out.write(ivec::to_vec(str::bytes(s)));
+        out.write(ivec::to_vec(str::bytes("\n")));
     }
     fn write_char(ch: char) {
         // FIXME needlessly consy
 
-        out.write(str::bytes(str::from_char(ch)));
+        out.write(ivec::to_vec(str::bytes(str::from_char(ch))));
+    }
+    fn write_int(n: int) {
+        out.write(ivec::to_vec(str::bytes(int::to_str(n, 10u))));
+    }
+    fn write_uint(n: uint) {
+        out.write(ivec::to_vec(str::bytes(uint::to_str(n, 10u))));
     }
-    fn write_int(n: int) { out.write(str::bytes(int::to_str(n, 10u))); }
-    fn write_uint(n: uint) { out.write(str::bytes(uint::to_str(n, 10u))); }
     fn write_bytes(bytes: vec[u8]) { out.write(bytes); }
     fn write_le_uint(n: uint, size: uint) {
         out.write(uint_to_le_bytes(n, size));
diff --git a/src/lib/ioivec.rs b/src/lib/ioivec.rs
index 95c0e425425..6e42c1e8166 100644
--- a/src/lib/ioivec.rs
+++ b/src/lib/ioivec.rs
@@ -224,7 +224,7 @@ fn new_byte_buf_reader(buf: &[u8]) -> buf_reader {
 }
 
 fn string_reader(s: &str) -> reader {
-    ret new_reader(new_byte_buf_reader(str::bytes_ivec(s)));
+    ret new_reader(new_byte_buf_reader(str::bytes(s)));
 }
 
 
@@ -343,19 +343,19 @@ fn uint_to_be_bytes(n: uint, size: uint) -> [u8] {
 
 obj new_writer(out: buf_writer) {
     fn get_buf_writer() -> buf_writer { ret out; }
-    fn write_str(s: str) { out.write(str::bytes_ivec(s)); }
+    fn write_str(s: str) { out.write(str::bytes(s)); }
     fn write_line(s: str) {
-        out.write(str::bytes_ivec(s));
-        out.write(str::bytes_ivec("\n"));
+        out.write(str::bytes(s));
+        out.write(str::bytes("\n"));
     }
     fn write_char(ch: char) {
         // FIXME needlessly consy
 
-        out.write(str::bytes_ivec(str::from_char(ch)));
+        out.write(str::bytes(str::from_char(ch)));
     }
-    fn write_int(n: int) { out.write(str::bytes_ivec(int::to_str(n, 10u))); }
+    fn write_int(n: int) { out.write(str::bytes(int::to_str(n, 10u))); }
     fn write_uint(n: uint) {
-        out.write(str::bytes_ivec(uint::to_str(n, 10u)));
+        out.write(str::bytes(uint::to_str(n, 10u)));
     }
     fn write_bytes(bytes: &[u8]) { out.write(bytes); }
     fn write_le_uint(n: uint, size: uint) {
diff --git a/src/lib/sha1.rs b/src/lib/sha1.rs
index ed38c757fc4..fc4703db2a5 100644
--- a/src/lib/sha1.rs
+++ b/src/lib/sha1.rs
@@ -245,7 +245,7 @@ fn mk_sha1() -> sha1 {
             add_input(st, m);
         }
         fn input_ivec(msg: &[u8]) { add_input(st, msg); }
-        fn input_str(msg: &str) { add_input(st, str::bytes_ivec(msg)); }
+        fn input_str(msg: &str) { add_input(st, str::bytes(msg)); }
         fn result() -> vec[u8] {
             let rivec = mk_result(st);
             let rvec = [];
diff --git a/src/lib/str.rs b/src/lib/str.rs
index dd16e4fce56..34e64c09f61 100644
--- a/src/lib/str.rs
+++ b/src/lib/str.rs
@@ -49,7 +49,6 @@ export connect;
 export connect_ivec;
 export to_upper;
 export safe_slice;
-export bytes_ivec;
 export unsafe_from_bytes_ivec;
 export is_empty;
 export is_not_empty;
@@ -63,7 +62,6 @@ export trim;
 native "rust" mod rustrt {
     type sbuf;
     fn str_buf(s: str) -> sbuf;
-    fn str_vec(s: str) -> vec[u8];
     fn str_byte_len(s: str) -> uint;
     fn str_alloc(n_bytes: uint) -> str;
     fn str_from_ivec(b: &[mutable? u8]) -> str;
@@ -189,9 +187,7 @@ fn byte_len(s: str) -> uint { ret rustrt::str_byte_len(s); }
 
 fn buf(s: &str) -> sbuf { ret rustrt::str_buf(s); }
 
-fn bytes(s: &str) -> vec[u8] { ret rustrt::str_vec(s); }
-
-fn bytes_ivec(s: str) -> [u8] {
+fn bytes(s: str) -> [u8] {
     let sbuffer = buf(s);
     let ptr = unsafe::reinterpret_cast(sbuffer);
     ret ivec::unsafe::from_buf(ptr, byte_len(s));
diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp
index 7653bc35ee2..2037714aae6 100644
--- a/src/rt/rust_builtin.cpp
+++ b/src/rt/rust_builtin.cpp
@@ -277,32 +277,6 @@ str_buf(rust_task *task, rust_str *s)
     return (char const *)&s->data[0];
 }
 
-extern "C" CDECL rust_vec*
-str_vec(rust_task *task, rust_str *s)
-{
-    // FIXME: this should just upref s and return it, but we
-    // accidentally made too much of the language and runtime know
-    // and care about the difference between str and vec (trailing null);
-    // eliminate these differences and then rewrite this back to just
-    // the following:
-    //
-    // if (s->ref_count != CONST_REFCOUNT)
-    //    s->ref();
-    // return s;
-
-    rust_str *v =
-        vec_alloc_with_data(task,
-                            s->fill - 1,
-                            s->fill - 1,
-                            1,
-                            (s->fill - 1) ? (void*)s->data : NULL);
-    if (!v) {
-        task->fail();
-        return NULL;
-    }
-    return v;
-}
-
 extern "C" CDECL size_t
 str_byte_len(rust_task *task, rust_str *s)
 {
diff --git a/src/rt/rustrt.def.in b/src/rt/rustrt.def.in
index cbd6b86348e..08847a673c0 100644
--- a/src/rt/rustrt.def.in
+++ b/src/rt/rustrt.def.in
@@ -68,7 +68,6 @@ str_from_ivec
 str_from_vec
 str_push_byte
 str_slice
-str_vec
 take_chan
 task_sleep
 task_yield
diff --git a/src/test/bench/shootout-pfib.rs b/src/test/bench/shootout-pfib.rs
index bd320611f32..3c0c27f472c 100644
--- a/src/test/bench/shootout-pfib.rs
+++ b/src/test/bench/shootout-pfib.rs
@@ -12,6 +12,7 @@
 use std;
 
 import std::vec;
+import std::ivec;
 import std::uint;
 import std::time;
 import std::str;
@@ -88,7 +89,8 @@ fn main(argv: vec[str]) {
         if opts.stress {
             stress(2);
         } else {
-            let max = uint::parse_buf(str::bytes(argv.(1)), 10u) as int;
+            let max = uint::parse_buf(ivec::to_vec(str::bytes(argv.(1))),
+                                      10u) as int;
 
             let num_trials = 10;
 
diff --git a/src/test/bench/task-perf-spawnalot.rs b/src/test/bench/task-perf-spawnalot.rs
index 0c63661ebae..71b469d98a7 100644
--- a/src/test/bench/task-perf-spawnalot.rs
+++ b/src/test/bench/task-perf-spawnalot.rs
@@ -1,5 +1,6 @@
 use std;
 import std::vec;
+import std::ivec;
 import std::task;
 import std::uint;
 import std::str;
@@ -19,7 +20,7 @@ fn main(args: vec[str]) {
     let n = if vec::len(args) < 2u {
         10u
     } else {
-        uint::parse_buf(str::bytes(args.(1)), 10u)
+        uint::parse_buf(ivec::to_vec(str::bytes(args.(1))), 10u)
     };
     let i = 0u;
     while i < n {
diff --git a/src/test/bench/task-perf-word-count.rs b/src/test/bench/task-perf-word-count.rs
index 8b71014f850..37d0e7c20cd 100644
--- a/src/test/bench/task-perf-word-count.rs
+++ b/src/test/bench/task-perf-word-count.rs
@@ -107,7 +107,7 @@ mod map_reduce {
               none. {
                 // log_err "fetching new channel for " + key;
                 let p = port[chan[reduce_proto]]();
-                let keyi = str::bytes_ivec(key);
+                let keyi = str::bytes(key);
                 ctrl <| find_reducer(keyi, chan(p));
                 p |> c;
                 im.insert(key, clone(c));
diff --git a/src/test/run-pass/conditional-compile.rs b/src/test/run-pass/conditional-compile.rs
index 92d8bf4dfe1..85e37f8c445 100644
--- a/src/test/run-pass/conditional-compile.rs
+++ b/src/test/run-pass/conditional-compile.rs
@@ -81,7 +81,7 @@ fn test_in_fn_ctxt() {
 mod test_native_items {
     native "rust" mod rustrt {
         #[cfg(bogus)]
-        fn str_vec(s: str) -> vec[u8];
-        fn str_vec(s: str) -> vec[u8];
+        fn str_byte_len(s: str) -> uint;
+        fn str_byte_len(s: str) -> uint;
     }
 }
\ No newline at end of file
diff --git a/src/test/run-pass/sio-read.rs b/src/test/run-pass/sio-read.rs
index 1671aad2c05..73dff34613e 100644
--- a/src/test/run-pass/sio-read.rs
+++ b/src/test/run-pass/sio-read.rs
@@ -19,7 +19,7 @@ fn main() {
   let srv: sio::server = sio::create_server(cx, "0.0.0.0", 9090);
   let child: task = spawn connectTask(cx, "127.0.0.1", 9090);
   let client: sio::client = sio::accept_from(srv);
-  sio::write_data(client, str::bytes_ivec("hello, world\n"));
+  sio::write_data(client, str::bytes("hello, world\n"));
   task::join(child);
   sio::close_client(client);
   sio::close_server(srv);
diff --git a/src/test/run-pass/sio-write.rs b/src/test/run-pass/sio-write.rs
index c1a5b3493ae..67b586085bf 100644
--- a/src/test/run-pass/sio-write.rs
+++ b/src/test/run-pass/sio-write.rs
@@ -18,7 +18,7 @@ fn main() {
   let srv: sio::server = sio::create_server(cx, "0.0.0.0", 9090);
   let child: task = spawn connectTask(cx, "127.0.0.1", 9090);
   let client: sio::client = sio::accept_from(srv);
-  sio::write_data(client, str::bytes_ivec("hello, world\n"));
+  sio::write_data(client, str::bytes("hello, world\n"));
   task::join(child);
   sio::close_client(client);
   sio::close_server(srv);
diff --git a/src/test/run-pass/utf8_chars.rs b/src/test/run-pass/utf8_chars.rs
index 50bb8996f87..76f86b60a53 100644
--- a/src/test/run-pass/utf8_chars.rs
+++ b/src/test/run-pass/utf8_chars.rs
@@ -2,6 +2,7 @@ use std;
 import std::str;
 import std::vec;
 import std::io;
+import std::ivec;
 
 fn main() {
     // Chars of 1, 2, 3, and 4 bytes
@@ -15,7 +16,7 @@ fn main() {
     assert (str::char_at(s, 0u) == 'e');
     assert (str::char_at(s, 1u) == 'é');
 
-    assert (str::is_utf8(str::bytes(s)));
+    assert (str::is_utf8(ivec::to_vec(str::bytes(s))));
     assert (!str::is_utf8([0x80_u8]));
     assert (!str::is_utf8([0xc0_u8]));
     assert (!str::is_utf8([0xc0_u8, 0x10_u8]));
diff --git a/src/test/stdtest/vec_str_conversions.rs b/src/test/stdtest/vec_str_conversions.rs
index 554fd694f7f..6051ee1cad4 100644
--- a/src/test/stdtest/vec_str_conversions.rs
+++ b/src/test/stdtest/vec_str_conversions.rs
@@ -4,6 +4,7 @@
 use std;
 import std::str;
 import std::vec;
+import std::ivec;
 
 #[test]
 fn test_simple() {
@@ -15,7 +16,7 @@ fn test_simple() {
      * working, but we should implement is_utf8 before that happens.
      */
 
-    let v: vec[u8] = str::bytes(s1);
+    let v: vec[u8] = ivec::to_vec(str::bytes(s1));
     let s2: str = str::from_bytes(v);
     let i: uint = 0u;
     let n1: uint = str::byte_len(s1);