Skip to content

Commit 1b78779

Browse files
Oliver 'ker' SchneiderOliver Schneider
authored andcommitted
---
yaml --- r: 174373 b: refs/heads/master c: 0478a8c h: refs/heads/master i: 174371: 74b9fb4 v: v3
1 parent bbe8713 commit 1b78779

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: d727f9910729625039defffd4058b907ca984bb9
2+
refs/heads/master: 0478a8c1d73ab936bcfb762ce8f31ab9f642f462
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 9006c3c0f14be45da8ffeba43d354d088e366c83
55
refs/heads/try: 08f6380a9f0b866796080094f44fe25ea5636547

trunk/src/libserialize/json.rs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2583,7 +2583,7 @@ mod tests {
25832583
use super::DecoderError::*;
25842584
use super::JsonEvent::*;
25852585
use super::{Json, from_str, DecodeResult, DecoderError, JsonEvent, Parser,
2586-
StackElement, Stack, Decoder};
2586+
StackElement, Stack, Decoder, Encoder, EncoderError};
25872587
use std::{i64, u64, f32, f64, io};
25882588
use std::collections::BTreeMap;
25892589
use std::num::Float;
@@ -3892,6 +3892,25 @@ mod tests {
38923892
assert_eq!(None::<int>.to_json(), Null);
38933893
}
38943894

3895+
#[test]
3896+
fn test_encode_hashmap_with_arbitrary_key() {
3897+
use std::str::from_utf8;
3898+
use std::io::Writer;
3899+
use std::collections::HashMap;
3900+
use std::fmt;
3901+
#[derive(PartialEq, Eq, Hash, RustcEncodable)]
3902+
struct ArbitraryType(uint);
3903+
let mut hm: HashMap<ArbitraryType, bool> = HashMap::new();
3904+
hm.insert(ArbitraryType(1), true);
3905+
let mut mem_buf = Vec::new();
3906+
let mut encoder = Encoder::new(&mut mem_buf as &mut fmt::Writer);
3907+
let result = hm.encode(&mut encoder);
3908+
match result.unwrap_err() {
3909+
EncoderError::BadHashmapKey => (),
3910+
_ => panic!("expected bad hash map key")
3911+
}
3912+
}
3913+
38953914
#[bench]
38963915
fn bench_streaming_small(b: &mut Bencher) {
38973916
b.iter( || {

0 commit comments

Comments
 (0)