]>
git.proxmox.com Git - rustc.git/blob - src/test/run-pass-fulldeps/issue-11881.rs
1 // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
12 #![feature(rustc_private)]
15 extern crate serialize
;
18 use std
::io
::prelude
::*;
22 use serialize
::{Encodable, Encoder}
;
43 fn encode_json
<T
: Encodable
>(val
: &T
, wr
: &mut Cursor
<Vec
<u8>>) {
44 write
!(wr
, "{}", json
::as_json(val
));
46 fn encode_rbml
<T
: Encodable
>(val
: &T
, wr
: &mut Cursor
<Vec
<u8>>) {
47 let mut encoder
= writer
::Encoder
::new(wr
);
48 val
.encode(&mut encoder
);
52 let target
= Foo{baz: false,}
;
53 let mut wr
= Cursor
::new(Vec
::new());
54 let proto
= WireProtocol
::JSON
;
56 WireProtocol
::JSON
=> encode_json(&target
, &mut wr
),
57 WireProtocol
::RBML
=> encode_rbml(&target
, &mut wr
)