diff options
| author | bors <bors@rust-lang.org> | 2014-12-08 02:32:31 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-12-08 02:32:31 +0000 |
| commit | 83a44c7fa676b4e5e546ce3d4624e585f9a1e899 (patch) | |
| tree | 36d7db1d2567d86816d4ac6a1ec86276974dbc65 /src/libserialize | |
| parent | 8bca470c5acf13aa20022a2c462a89f72de721fc (diff) | |
| parent | 1fea900de7f11d665086141806246842c03b9fc5 (diff) | |
| download | rust-83a44c7fa676b4e5e546ce3d4624e585f9a1e899.tar.gz rust-83a44c7fa676b4e5e546ce3d4624e585f9a1e899.zip | |
auto merge of #19378 : japaric/rust/no-as-slice, r=alexcrichton
Now that we have an overloaded comparison (`==`) operator, and that `Vec`/`String` deref to `[T]`/`str` on method calls, many `as_slice()`/`as_mut_slice()`/`to_string()` calls have become redundant. This patch removes them. These were the most common patterns: - `assert_eq(test_output.as_slice(), "ground truth")` -> `assert_eq(test_output, "ground truth")` - `assert_eq(test_output, "ground truth".to_string())` -> `assert_eq(test_output, "ground truth")` - `vec.as_mut_slice().sort()` -> `vec.sort()` - `vec.as_slice().slice(from, to)` -> `vec.slice(from_to)` --- Note that e.g. `a_string.push_str(b_string.as_slice())` has been left untouched in this PR, since we first need to settle down whether we want to favor the `&*b_string` or the `b_string[]` notation. This is rebased on top of #19167 cc @alexcrichton @aturon
Diffstat (limited to 'src/libserialize')
| -rw-r--r-- | src/libserialize/base64.rs | 60 | ||||
| -rw-r--r-- | src/libserialize/hex.rs | 28 | ||||
| -rw-r--r-- | src/libserialize/json.rs | 106 |
3 files changed, 93 insertions, 101 deletions
diff --git a/src/libserialize/base64.rs b/src/libserialize/base64.rs index b7d8885a5f9..c8ec1700a1d 100644 --- a/src/libserialize/base64.rs +++ b/src/libserialize/base64.rs @@ -286,59 +286,58 @@ mod tests { #[test] fn test_to_base64_basic() { - assert_eq!("".as_bytes().to_base64(STANDARD), "".to_string()); - assert_eq!("f".as_bytes().to_base64(STANDARD), "Zg==".to_string()); - assert_eq!("fo".as_bytes().to_base64(STANDARD), "Zm8=".to_string()); - assert_eq!("foo".as_bytes().to_base64(STANDARD), "Zm9v".to_string()); - assert_eq!("foob".as_bytes().to_base64(STANDARD), "Zm9vYg==".to_string()); - assert_eq!("fooba".as_bytes().to_base64(STANDARD), "Zm9vYmE=".to_string()); - assert_eq!("foobar".as_bytes().to_base64(STANDARD), "Zm9vYmFy".to_string()); + assert_eq!("".as_bytes().to_base64(STANDARD), ""); + assert_eq!("f".as_bytes().to_base64(STANDARD), "Zg=="); + assert_eq!("fo".as_bytes().to_base64(STANDARD), "Zm8="); + assert_eq!("foo".as_bytes().to_base64(STANDARD), "Zm9v"); + assert_eq!("foob".as_bytes().to_base64(STANDARD), "Zm9vYg=="); + assert_eq!("fooba".as_bytes().to_base64(STANDARD), "Zm9vYmE="); + assert_eq!("foobar".as_bytes().to_base64(STANDARD), "Zm9vYmFy"); } #[test] fn test_to_base64_line_break() { assert!(![0u8, ..1000].to_base64(Config {line_length: None, ..STANDARD}) - .as_slice() .contains("\r\n")); assert_eq!("foobar".as_bytes().to_base64(Config {line_length: Some(4), ..STANDARD}), - "Zm9v\r\nYmFy".to_string()); + "Zm9v\r\nYmFy"); } #[test] fn test_to_base64_padding() { - assert_eq!("f".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zg".to_string()); - assert_eq!("fo".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zm8".to_string()); + assert_eq!("f".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zg"); + assert_eq!("fo".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zm8"); } #[test] fn test_to_base64_url_safe() { - assert_eq!([251, 255].to_base64(URL_SAFE), "-_8".to_string()); - assert_eq!([251, 255].to_base64(STANDARD), "+/8=".to_string()); + assert_eq!([251, 255].to_base64(URL_SAFE), "-_8"); + assert_eq!([251, 255].to_base64(STANDARD), "+/8="); } #[test] fn test_from_base64_basic() { - assert_eq!("".from_base64().unwrap().as_slice(), "".as_bytes()); - assert_eq!("Zg==".from_base64().unwrap().as_slice(), "f".as_bytes()); - assert_eq!("Zm8=".from_base64().unwrap().as_slice(), "fo".as_bytes()); - assert_eq!("Zm9v".from_base64().unwrap().as_slice(), "foo".as_bytes()); - assert_eq!("Zm9vYg==".from_base64().unwrap().as_slice(), "foob".as_bytes()); - assert_eq!("Zm9vYmE=".from_base64().unwrap().as_slice(), "fooba".as_bytes()); - assert_eq!("Zm9vYmFy".from_base64().unwrap().as_slice(), "foobar".as_bytes()); + assert_eq!("".from_base64().unwrap(), b""); + assert_eq!("Zg==".from_base64().unwrap(), b"f"); + assert_eq!("Zm8=".from_base64().unwrap(), b"fo"); + assert_eq!("Zm9v".from_base64().unwrap(), b"foo"); + assert_eq!("Zm9vYg==".from_base64().unwrap(), b"foob"); + assert_eq!("Zm9vYmE=".from_base64().unwrap(), b"fooba"); + assert_eq!("Zm9vYmFy".from_base64().unwrap(), b"foobar"); } #[test] fn test_from_base64_bytes() { - assert_eq!(b"Zm9vYmFy".from_base64().unwrap().as_slice(), "foobar".as_bytes()); + assert_eq!(b"Zm9vYmFy".from_base64().unwrap(), b"foobar"); } #[test] fn test_from_base64_newlines() { - assert_eq!("Zm9v\r\nYmFy".from_base64().unwrap().as_slice(), - "foobar".as_bytes()); - assert_eq!("Zm9vYg==\r\n".from_base64().unwrap().as_slice(), - "foob".as_bytes()); + assert_eq!("Zm9v\r\nYmFy".from_base64().unwrap(), + b"foobar"); + assert_eq!("Zm9vYg==\r\n".from_base64().unwrap(), + b"foob"); } #[test] @@ -364,13 +363,10 @@ mod tests { for _ in range(0u, 1000) { let times = task_rng().gen_range(1u, 100); let v = Vec::from_fn(times, |_| random::<u8>()); - assert_eq!(v.as_slice() - .to_base64(STANDARD) - .as_slice() + assert_eq!(v.to_base64(STANDARD) .from_base64() - .unwrap() - .as_slice(), - v.as_slice()); + .unwrap(), + v); } } @@ -390,7 +386,7 @@ mod tests { ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン"; let sb = s.as_bytes().to_base64(STANDARD); b.iter(|| { - sb.as_slice().from_base64().unwrap(); + sb.from_base64().unwrap(); }); b.bytes = sb.len() as u64; } diff --git a/src/libserialize/hex.rs b/src/libserialize/hex.rs index 2a3c410ba7c..4c20f72cac5 100644 --- a/src/libserialize/hex.rs +++ b/src/libserialize/hex.rs @@ -158,15 +158,15 @@ mod tests { #[test] pub fn test_to_hex() { - assert_eq!("foobar".as_bytes().to_hex(), "666f6f626172".to_string()); + assert_eq!("foobar".as_bytes().to_hex(), "666f6f626172"); } #[test] pub fn test_from_hex_okay() { - assert_eq!("666f6f626172".from_hex().unwrap().as_slice(), - "foobar".as_bytes()); - assert_eq!("666F6F626172".from_hex().unwrap().as_slice(), - "foobar".as_bytes()); + assert_eq!("666f6f626172".from_hex().unwrap(), + b"foobar"); + assert_eq!("666F6F626172".from_hex().unwrap(), + b"foobar"); } #[test] @@ -182,8 +182,8 @@ mod tests { #[test] pub fn test_from_hex_ignores_whitespace() { - assert_eq!("666f 6f6\r\n26172 ".from_hex().unwrap().as_slice(), - "foobar".as_bytes()); + assert_eq!("666f 6f6\r\n26172 ".from_hex().unwrap(), + b"foobar"); } #[test] @@ -197,15 +197,11 @@ mod tests { pub fn test_from_hex_all_bytes() { for i in range(0u, 256) { let ii: &[u8] = &[i as u8]; - assert_eq!(format!("{:02x}", i as uint).as_slice() - .from_hex() - .unwrap() - .as_slice(), + assert_eq!(format!("{:02x}", i as uint).from_hex() + .unwrap(), ii); - assert_eq!(format!("{:02X}", i as uint).as_slice() - .from_hex() - .unwrap() - .as_slice(), + assert_eq!(format!("{:02X}", i as uint).from_hex() + .unwrap(), ii); } } @@ -226,7 +222,7 @@ mod tests { ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン"; let sb = s.as_bytes().to_hex(); b.iter(|| { - sb.as_slice().from_hex().unwrap(); + sb.from_hex().unwrap(); }); b.bytes = sb.len() as u64; } diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs index fa82eb93fae..248d78236ad 100644 --- a/src/libserialize/json.rs +++ b/src/libserialize/json.rs @@ -2039,7 +2039,7 @@ impl ::Decoder<DecoderError> for Decoder { fn read_char(&mut self) -> DecodeResult<char> { let s = try!(self.read_str()); { - let mut it = s.as_slice().chars(); + let mut it = s.chars(); match (it.next(), it.next()) { // exactly one character (Some(c), None) => return Ok(c), @@ -2486,76 +2486,76 @@ mod tests { #[test] fn test_write_null() { - assert_eq!(Null.to_string().into_string(), "null".to_string()); - assert_eq!(Null.to_pretty_str().into_string(), "null".to_string()); + assert_eq!(Null.to_string().into_string(), "null"); + assert_eq!(Null.to_pretty_str().into_string(), "null"); } #[test] fn test_write_i64() { - assert_eq!(U64(0).to_string().into_string(), "0".to_string()); - assert_eq!(U64(0).to_pretty_str().into_string(), "0".to_string()); + assert_eq!(U64(0).to_string().into_string(), "0"); + assert_eq!(U64(0).to_pretty_str().into_string(), "0"); - assert_eq!(U64(1234).to_string().into_string(), "1234".to_string()); - assert_eq!(U64(1234).to_pretty_str().into_string(), "1234".to_string()); + assert_eq!(U64(1234).to_string().into_string(), "1234"); + assert_eq!(U64(1234).to_pretty_str().into_string(), "1234"); - assert_eq!(I64(-5678).to_string().into_string(), "-5678".to_string()); - assert_eq!(I64(-5678).to_pretty_str().into_string(), "-5678".to_string()); + assert_eq!(I64(-5678).to_string().into_string(), "-5678"); + assert_eq!(I64(-5678).to_pretty_str().into_string(), "-5678"); } #[test] fn test_write_f64() { - assert_eq!(F64(3.0).to_string().into_string(), "3".to_string()); - assert_eq!(F64(3.0).to_pretty_str().into_string(), "3".to_string()); + assert_eq!(F64(3.0).to_string().into_string(), "3"); + assert_eq!(F64(3.0).to_pretty_str().into_string(), "3"); - assert_eq!(F64(3.1).to_string().into_string(), "3.1".to_string()); - assert_eq!(F64(3.1).to_pretty_str().into_string(), "3.1".to_string()); + assert_eq!(F64(3.1).to_string().into_string(), "3.1"); + assert_eq!(F64(3.1).to_pretty_str().into_string(), "3.1"); - assert_eq!(F64(-1.5).to_string().into_string(), "-1.5".to_string()); - assert_eq!(F64(-1.5).to_pretty_str().into_string(), "-1.5".to_string()); + assert_eq!(F64(-1.5).to_string().into_string(), "-1.5"); + assert_eq!(F64(-1.5).to_pretty_str().into_string(), "-1.5"); - assert_eq!(F64(0.5).to_string().into_string(), "0.5".to_string()); - assert_eq!(F64(0.5).to_pretty_str().into_string(), "0.5".to_string()); + assert_eq!(F64(0.5).to_string().into_string(), "0.5"); + assert_eq!(F64(0.5).to_pretty_str().into_string(), "0.5"); - assert_eq!(F64(f64::NAN).to_string().into_string(), "null".to_string()); - assert_eq!(F64(f64::NAN).to_pretty_str().into_string(), "null".to_string()); + assert_eq!(F64(f64::NAN).to_string().into_string(), "null"); + assert_eq!(F64(f64::NAN).to_pretty_str().into_string(), "null"); - assert_eq!(F64(f64::INFINITY).to_string().into_string(), "null".to_string()); - assert_eq!(F64(f64::INFINITY).to_pretty_str().into_string(), "null".to_string()); + assert_eq!(F64(f64::INFINITY).to_string().into_string(), "null"); + assert_eq!(F64(f64::INFINITY).to_pretty_str().into_string(), "null"); - assert_eq!(F64(f64::NEG_INFINITY).to_string().into_string(), "null".to_string()); - assert_eq!(F64(f64::NEG_INFINITY).to_pretty_str().into_string(), "null".to_string()); + assert_eq!(F64(f64::NEG_INFINITY).to_string().into_string(), "null"); + assert_eq!(F64(f64::NEG_INFINITY).to_pretty_str().into_string(), "null"); } #[test] fn test_write_str() { - assert_eq!(String("".to_string()).to_string().into_string(), "\"\"".to_string()); - assert_eq!(String("".to_string()).to_pretty_str().into_string(), "\"\"".to_string()); + assert_eq!(String("".to_string()).to_string().into_string(), "\"\""); + assert_eq!(String("".to_string()).to_pretty_str().into_string(), "\"\""); - assert_eq!(String("foo".to_string()).to_string().into_string(), "\"foo\"".to_string()); - assert_eq!(String("foo".to_string()).to_pretty_str().into_string(), "\"foo\"".to_string()); + assert_eq!(String("foo".to_string()).to_string().into_string(), "\"foo\""); + assert_eq!(String("foo".to_string()).to_pretty_str().into_string(), "\"foo\""); } #[test] fn test_write_bool() { - assert_eq!(Boolean(true).to_string().into_string(), "true".to_string()); - assert_eq!(Boolean(true).to_pretty_str().into_string(), "true".to_string()); + assert_eq!(Boolean(true).to_string().into_string(), "true"); + assert_eq!(Boolean(true).to_pretty_str().into_string(), "true"); - assert_eq!(Boolean(false).to_string().into_string(), "false".to_string()); - assert_eq!(Boolean(false).to_pretty_str().into_string(), "false".to_string()); + assert_eq!(Boolean(false).to_string().into_string(), "false"); + assert_eq!(Boolean(false).to_pretty_str().into_string(), "false"); } #[test] fn test_write_array() { - assert_eq!(Array(vec![]).to_string().into_string(), "[]".to_string()); - assert_eq!(Array(vec![]).to_pretty_str().into_string(), "[]".to_string()); + assert_eq!(Array(vec![]).to_string().into_string(), "[]"); + assert_eq!(Array(vec![]).to_pretty_str().into_string(), "[]"); - assert_eq!(Array(vec![Boolean(true)]).to_string().into_string(), "[true]".to_string()); + assert_eq!(Array(vec![Boolean(true)]).to_string().into_string(), "[true]"); assert_eq!( Array(vec![Boolean(true)]).to_pretty_str().into_string(), "\ [\n \ true\n\ - ]".to_string() + ]" ); let long_test_array = Array(vec![ @@ -2564,7 +2564,7 @@ mod tests { Array(vec![String("foo\nbar".to_string()), F64(3.5)])]); assert_eq!(long_test_array.to_string().into_string(), - "[false,null,[\"foo\\nbar\",3.5]]".to_string()); + "[false,null,[\"foo\\nbar\",3.5]]"); assert_eq!( long_test_array.to_pretty_str().into_string(), "\ @@ -2575,27 +2575,27 @@ mod tests { \"foo\\nbar\",\n \ 3.5\n \ ]\n\ - ]".to_string() + ]" ); } #[test] fn test_write_object() { - assert_eq!(mk_object(&[]).to_string().into_string(), "{}".to_string()); - assert_eq!(mk_object(&[]).to_pretty_str().into_string(), "{}".to_string()); + assert_eq!(mk_object(&[]).to_string().into_string(), "{}"); + assert_eq!(mk_object(&[]).to_pretty_str().into_string(), "{}"); assert_eq!( mk_object(&[ ("a".to_string(), Boolean(true)) ]).to_string().into_string(), - "{\"a\":true}".to_string() + "{\"a\":true}" ); assert_eq!( mk_object(&[("a".to_string(), Boolean(true))]).to_pretty_str(), "\ {\n \ \"a\": true\n\ - }".to_string() + }" ); let complex_obj = mk_object(&[ @@ -2612,7 +2612,7 @@ mod tests { {\"c\":\"\\f\\r\"},\ {\"d\":\"\"}\ ]\ - }".to_string() + }" ); assert_eq!( complex_obj.to_pretty_str().into_string(), @@ -2626,7 +2626,7 @@ mod tests { \"d\": \"\"\n \ }\n \ ]\n\ - }".to_string() + }" ); let a = mk_object(&[ @@ -2660,14 +2660,14 @@ mod tests { let mut encoder = Encoder::new(writer); animal.encode(&mut encoder).unwrap(); }), - "\"Dog\"".to_string() + "\"Dog\"" ); assert_eq!( with_str_writer(|writer| { let mut encoder = PrettyEncoder::new(writer); animal.encode(&mut encoder).unwrap(); }), - "\"Dog\"".to_string() + "\"Dog\"" ); let animal = Frog("Henry".to_string(), 349); @@ -2676,7 +2676,7 @@ mod tests { let mut encoder = Encoder::new(writer); animal.encode(&mut encoder).unwrap(); }), - "{\"variant\":\"Frog\",\"fields\":[\"Henry\",349]}".to_string() + "{\"variant\":\"Frog\",\"fields\":[\"Henry\",349]}" ); assert_eq!( with_str_writer(|writer| { @@ -2689,7 +2689,7 @@ mod tests { \"Henry\",\n \ 349\n \ ]\n\ - }".to_string() + }" ); } @@ -2700,14 +2700,14 @@ mod tests { let mut encoder = Encoder::new(writer); value.encode(&mut encoder).unwrap(); }); - assert_eq!(s, "\"jodhpurs\"".to_string()); + assert_eq!(s, "\"jodhpurs\""); let value = Some("jodhpurs".to_string()); let s = with_str_writer(|writer| { let mut encoder = PrettyEncoder::new(writer); value.encode(&mut encoder).unwrap(); }); - assert_eq!(s, "\"jodhpurs\"".to_string()); + assert_eq!(s, "\"jodhpurs\""); } #[test] @@ -2717,13 +2717,13 @@ mod tests { let mut encoder = Encoder::new(writer); value.encode(&mut encoder).unwrap(); }); - assert_eq!(s, "null".to_string()); + assert_eq!(s, "null"); let s = with_str_writer(|writer| { let mut encoder = Encoder::new(writer); value.encode(&mut encoder).unwrap(); }); - assert_eq!(s, "null".to_string()); + assert_eq!(s, "null"); } #[test] @@ -2860,7 +2860,7 @@ mod tests { for &(i, o) in s.iter() { let v: string::String = super::decode(i).unwrap(); - assert_eq!(v.as_slice(), o); + assert_eq!(v, o); } } @@ -3778,7 +3778,7 @@ mod tests { fn bench_streaming_large(b: &mut Bencher) { let src = big_json(); b.iter( || { - let mut parser = Parser::new(src.as_slice().chars()); + let mut parser = Parser::new(src.chars()); loop { match parser.next() { None => return, |
