about summary refs log tree commit diff
path: root/src/libserialize/lib.rs
diff options
context:
space:
mode:
authorJeff Olson <olson.jeffery@gmail.com>2014-02-05 08:52:54 -0800
committerJeff Olson <olson.jeffery@gmail.com>2014-02-05 10:38:22 -0800
commitb8852e89ced0a0cdf66963aba08382ff18fd2d4b (patch)
tree436f978485e7ceb1fc7daa36ab999afcdea30193 /src/libserialize/lib.rs
parent2bf575c86fd3c053df83b90862441fec71c7a622 (diff)
downloadrust-b8852e89ced0a0cdf66963aba08382ff18fd2d4b.tar.gz
rust-b8852e89ced0a0cdf66963aba08382ff18fd2d4b.zip
pull extra::{serialize, ebml} into a separate libserialize crate
- `extra::json` didn't make the cut, because of `extra::json` required
   dep on `extra::TreeMap`. If/when `extra::TreeMap` moves out of `extra`,
   then `extra::json` could move into `serialize`
- `libextra`, `libsyntax` and `librustc` depend on the newly created
  `libserialize`
- The extensions to various `extra` types like `DList`, `RingBuf`, `TreeMap`
  and `TreeSet` for `Encodable`/`Decodable` were moved into the respective
  modules in `extra`
- There is some trickery, evident in `src/libextra/lib.rs` where a stub
  of `extra::serialize` is set up (in `src/libextra/serialize.rs`) for
  use in the stage0 build, where the snapshot rustc is still making
  deriving for `Encodable` and `Decodable` point at extra. Big props to
  @huonw for help working out the re-export solution for this

extra: inline extra::serialize stub

fix stuff clobbered in rebase + don't reexport serialize::serialize

no more globs in libserialize

syntax: fix import of libserialize traits

librustc: fix bad imports in encoder/decoder

add serialize dep to librustdoc

fix failing run-pass tests w/ serialize dep

adjust uuid dep

more rebase de-clobbering for libserialize

fixing tests, pushing libextra dep into cfg(test)

fix doc code in extra::json

adjust index.md links to serialize and uuid library
Diffstat (limited to 'src/libserialize/lib.rs')
-rw-r--r--src/libserialize/lib.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/libserialize/lib.rs b/src/libserialize/lib.rs
new file mode 100644
index 00000000000..5f473b25369
--- /dev/null
+++ b/src/libserialize/lib.rs
@@ -0,0 +1,33 @@
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Support code for encoding and decoding types.
+
+/*
+Core encoding and decoding interfaces.
+*/
+
+#[crate_id = "serialize#0.10-pre"];
+#[crate_type = "rlib"];
+#[crate_type = "dylib"];
+#[license = "MIT/ASL2"];
+#[allow(missing_doc)];
+#[forbid(non_camel_case_types)];
+#[feature(macro_rules,managed_boxes)];
+
+// test harness access
+#[cfg(test)]
+extern mod extra;
+
+pub use self::serialize::{Decoder, Encoder, Decodable, Encodable,
+    DecoderHelpers, EncoderHelpers};
+
+mod serialize;
+pub mod ebml;