1
Fork 0

Remove last uses of vec::len

This commit is contained in:
Brian Anderson 2011-08-11 23:43:17 -07:00
parent 544bdf05c5
commit 12cd11ecda
7 changed files with 55 additions and 48 deletions

View file

@ -8,7 +8,6 @@ import std::getopts::opt_present;
import std::getopts::opt_str; import std::getopts::opt_str;
import std::io; import std::io;
import std::io::stdout; import std::io::stdout;
import std::vec;
import std::ivec; import std::ivec;
import std::str; import std::str;
import std::uint; import std::uint;
@ -347,12 +346,13 @@ fn check_variants(files: &[str]) {
} }
fn main(args: vec[str]) { fn main(args: vec[str]) {
if vec::len(args) != 2u { let iargs = ivec::from_vec(args);
log_err #fmt("usage: %s <testdir>", args.(0)); if ivec::len(iargs) != 2u {
log_err #fmt("usage: %s <testdir>", iargs.(0));
ret; ret;
} }
let files = ~[]; let files = ~[];
let root = args.(1); let root = iargs.(1);
find_rust_files(files, root); find_rust_files(files, root);
check_convergence(files); check_convergence(files);

View file

@ -5,7 +5,6 @@ import util::orb;
export vbuf; export vbuf;
export buf; export buf;
export len;
type vbuf = rustrt::vbuf; type vbuf = rustrt::vbuf;
@ -37,8 +36,6 @@ native "rust" mod rustrt {
fn buf[T](v: array[T]) -> vbuf { ret rustrt::vec_buf[T](v, 0u); } fn buf[T](v: array[T]) -> vbuf { ret rustrt::vec_buf[T](v, 0u); }
fn len[T](v: array[T]) -> uint { ret rustrt::vec_len[T](v); }
// Local Variables: // Local Variables:
// mode: rust; // mode: rust;
// fill-column: 78; // fill-column: 78;

View file

@ -1,4 +1,4 @@
// error-pattern: unresolved import: vec // error-pattern: unresolved import: ivec
import vec; import ivec;
fn main() { let foo = vec::len([]); } fn main() { let foo = ivec::len([]); }

View file

@ -10,7 +10,7 @@ import option = std::option::t;
import std::option::some; import std::option::some;
import std::option::none; import std::option::none;
import std::str; import std::str;
import std::vec; import std::ivec;
import std::map; import std::map;
fn map(filename: str, emit: map_reduce::putter) { emit(filename, "1"); } fn map(filename: str, emit: map_reduce::putter) { emit(filename, "1"); }
@ -26,7 +26,7 @@ mod map_reduce {
tag ctrl_proto { find_reducer(str, chan[int]); mapper_done; } tag ctrl_proto { find_reducer(str, chan[int]); mapper_done; }
fn start_mappers(ctrl: chan[ctrl_proto], inputs: vec[str]) { fn start_mappers(ctrl: chan[ctrl_proto], inputs: &[str]) {
for i: str in inputs { spawn map_task(ctrl, i); } for i: str in inputs { spawn map_task(ctrl, i); }
} }
@ -55,7 +55,7 @@ mod map_reduce {
ctrl <| mapper_done; ctrl <| mapper_done;
} }
fn map_reduce(inputs: vec[str]) { fn map_reduce(inputs: &[str]) {
let ctrl = port[ctrl_proto](); let ctrl = port[ctrl_proto]();
// This task becomes the master control task. It spawns others // This task becomes the master control task. It spawns others
@ -67,7 +67,7 @@ mod map_reduce {
start_mappers(chan(ctrl), inputs); start_mappers(chan(ctrl), inputs);
let num_mappers = vec::len(inputs) as int; let num_mappers = ivec::len(inputs) as int;
while num_mappers > 0 { while num_mappers > 0 {
@ -88,5 +88,5 @@ mod map_reduce {
} }
fn main() { fn main() {
map_reduce::map_reduce(["../src/test/run-pass/hashmap-memory.rs"]); map_reduce::map_reduce(~["../src/test/run-pass/hashmap-memory.rs"]);
} }

View file

@ -3,14 +3,14 @@
// -*- rust -*- // -*- rust -*-
use std; use std;
fn grow(v: &mutable vec[int]) { v += [1]; } fn grow(v: &mutable [int]) { v += ~[1]; }
fn main() { fn main() {
let v: vec[int] = []; let v: [int] = ~[];
grow(v); grow(v);
grow(v); grow(v);
grow(v); grow(v);
let len = std::vec::len[int](v); let len = std::ivec::len[int](v);
log len; log len;
assert (len == 3 as uint); assert (len == 3 as uint);
} }

View file

@ -1,14 +1,14 @@
use std; use std;
import std::vec; import std::ivec;
fn main() { fn main() {
// Make sure we properly handle repeated self-appends. // Make sure we properly handle repeated self-appends.
let a: vec[int] = [0]; let a: [int] = ~[0];
let i = 20; let i = 20;
let expected_len = 1u; let expected_len = 1u;
while i > 0 { while i > 0 {
log_err vec::len(a); log_err ivec::len(a);
assert (vec::len(a) == expected_len); assert (ivec::len(a) == expected_len);
a += a; a += a;
i -= 1; i -= 1;
expected_len *= 2u; expected_len *= 2u;

View file

@ -4,12 +4,12 @@
use std; use std;
import std::sha1; import std::sha1;
import std::vec; import std::ivec;
import std::str; import std::str;
#[test] #[test]
fn test() { fn test() {
type test = {input: str, output: vec[u8]}; type test = {input: str, output: [u8]};
fn a_million_letter_a() -> str { fn a_million_letter_a() -> str {
let i = 0; let i = 0;
@ -19,40 +19,50 @@ fn test() {
} }
// Test messages from FIPS 180-1 // Test messages from FIPS 180-1
let fips_180_1_tests: vec[test] = let fips_180_1_tests: [test] =
[{input: "abc", ~[{input: "abc",
output: output:
[0xA9u8, 0x99u8, 0x3Eu8, 0x36u8, 0x47u8, 0x06u8, 0x81u8, 0x6Au8, ~[0xA9u8, 0x99u8, 0x3Eu8, 0x36u8,
0xBAu8, 0x3Eu8, 0x25u8, 0x71u8, 0x78u8, 0x50u8, 0xC2u8, 0x6Cu8, 0x47u8, 0x06u8, 0x81u8, 0x6Au8,
0x9Cu8, 0xD0u8, 0xD8u8, 0x9Du8]}, 0xBAu8, 0x3Eu8, 0x25u8, 0x71u8,
0x78u8, 0x50u8, 0xC2u8, 0x6Cu8,
0x9Cu8, 0xD0u8, 0xD8u8, 0x9Du8]},
{input: {input:
"abcdbcdecdefdefgefghfghighij" + "hijkijkljklmklmnlmnomnopnopq", "abcdbcdecdefdefgefghfghighij" + "hijkijkljklmklmnlmnomnopnopq",
output: output:
[0x84u8, 0x98u8, 0x3Eu8, 0x44u8, 0x1Cu8, 0x3Bu8, 0xD2u8, 0x6Eu8, ~[0x84u8, 0x98u8, 0x3Eu8, 0x44u8,
0xBAu8, 0xAEu8, 0x4Au8, 0xA1u8, 0xF9u8, 0x51u8, 0x29u8, 0xE5u8, 0x1Cu8, 0x3Bu8, 0xD2u8, 0x6Eu8,
0xE5u8, 0x46u8, 0x70u8, 0xF1u8]}, 0xBAu8, 0xAEu8, 0x4Au8, 0xA1u8,
0xF9u8, 0x51u8, 0x29u8, 0xE5u8,
0xE5u8, 0x46u8, 0x70u8, 0xF1u8]},
{input: a_million_letter_a(), {input: a_million_letter_a(),
output: output:
[0x34u8, 0xAAu8, 0x97u8, 0x3Cu8, 0xD4u8, 0xC4u8, 0xDAu8, 0xA4u8, ~[0x34u8, 0xAAu8, 0x97u8, 0x3Cu8,
0xF6u8, 0x1Eu8, 0xEBu8, 0x2Bu8, 0xDBu8, 0xADu8, 0x27u8, 0x31u8, 0xD4u8, 0xC4u8, 0xDAu8, 0xA4u8,
0x65u8, 0x34u8, 0x01u8, 0x6Fu8]}]; 0xF6u8, 0x1Eu8, 0xEBu8, 0x2Bu8,
0xDBu8, 0xADu8, 0x27u8, 0x31u8,
0x65u8, 0x34u8, 0x01u8, 0x6Fu8]}];
// Examples from wikipedia // Examples from wikipedia
let wikipedia_tests: vec[test] = let wikipedia_tests: [test] =
[{input: "The quick brown fox jumps over the lazy dog", ~[{input: "The quick brown fox jumps over the lazy dog",
output: output:
[0x2fu8, 0xd4u8, 0xe1u8, 0xc6u8, 0x7au8, 0x2du8, 0x28u8, 0xfcu8, ~[0x2fu8, 0xd4u8, 0xe1u8, 0xc6u8,
0xedu8, 0x84u8, 0x9eu8, 0xe1u8, 0xbbu8, 0x76u8, 0xe7u8, 0x39u8, 0x7au8, 0x2du8, 0x28u8, 0xfcu8,
0x1bu8, 0x93u8, 0xebu8, 0x12u8]}, 0xedu8, 0x84u8, 0x9eu8, 0xe1u8,
0xbbu8, 0x76u8, 0xe7u8, 0x39u8,
0x1bu8, 0x93u8, 0xebu8, 0x12u8]},
{input: "The quick brown fox jumps over the lazy cog", {input: "The quick brown fox jumps over the lazy cog",
output: output:
[0xdeu8, 0x9fu8, 0x2cu8, 0x7fu8, 0xd2u8, 0x5eu8, 0x1bu8, 0x3au8, ~[0xdeu8, 0x9fu8, 0x2cu8, 0x7fu8,
0xfau8, 0xd3u8, 0xe8u8, 0x5au8, 0x0bu8, 0xd1u8, 0x7du8, 0x9bu8, 0xd2u8, 0x5eu8, 0x1bu8, 0x3au8,
0x10u8, 0x0du8, 0xb4u8, 0xb3u8]}]; 0xfau8, 0xd3u8, 0xe8u8, 0x5au8,
0x0bu8, 0xd1u8, 0x7du8, 0x9bu8,
0x10u8, 0x0du8, 0xb4u8, 0xb3u8]}];
let tests = fips_180_1_tests + wikipedia_tests; let tests = fips_180_1_tests + wikipedia_tests;
fn check_vec_eq(v0: vec[u8], v1: vec[u8]) { fn check_vec_eq(v0: &[u8], v1: &[u8]) {
assert (vec::len[u8](v0) == vec::len[u8](v1)); assert (ivec::len[u8](v0) == ivec::len[u8](v1));
let len = vec::len[u8](v0); let len = ivec::len[u8](v0);
let i = 0u; let i = 0u;
while i < len { while i < len {
let a = v0.(i); let a = v0.(i);
@ -66,7 +76,7 @@ fn test() {
let sh = sha1::mk_sha1(); let sh = sha1::mk_sha1();
for t: test in tests { for t: test in tests {
sh.input_str(t.input); sh.input_str(t.input);
let out = sh.result(); let out = sh.result_ivec();
check_vec_eq(t.output, out); check_vec_eq(t.output, out);
sh.reset(); sh.reset();
} }
@ -81,7 +91,7 @@ fn test() {
sh.input_str(str::substr(t.input, len - left, take)); sh.input_str(str::substr(t.input, len - left, take));
left = left - take; left = left - take;
} }
let out = sh.result(); let out = sh.result_ivec();
check_vec_eq(t.output, out); check_vec_eq(t.output, out);
sh.reset(); sh.reset();
} }