forma_core 0.1.0

Core serialization and deserialization framework — data model, traits, error types.
Documentation
# forma_core

Core serialization and deserialization framework for
[forma](https://crates.io/crates/forma) -- data model, traits, and error types.

**Most users should depend on `forma` instead of using this crate directly.**

## Overview

`forma_core` defines the traits and types that make up the forma data model:

- **`Serialize`** / **`Serializer`** -- convert Rust values into a format-neutral
  data model (30 types).
- **`Deserialize`** / **`Deserializer`** / **`Visitor`** -- reconstruct Rust
  values from serialized data.
- **`Content`** -- buffering system for flatten and tagged enum support.
- **`SerError`** / **`DeError`** -- trait-based errors that carry type context
  from the start.
- **`Impossible`** -- uninhabitable type for compound traits a format does not
  support.
- **`forward_to_deserialize_any!`** -- macro for self-describing formats.
- **`IntoDeserializer`** and `de::value` -- ready-made building-block
  deserializers for format authors.

Includes `Serialize` and `Deserialize` impls for 60+ standard library types.

## `no_std` Support

`forma_core` works without the standard library:

```toml
[dependencies]
forma_core = { version = "0.1", default-features = false, features = ["alloc"] }
```

The `alloc` feature enables collections, `String`, `Content`, and related impls.
Primitive serialization and deserialization works with no features at all.

## License

Licensed under either of Apache License, Version 2.0 or MIT License at your
option.