//! Derive macros for `async-reply` message.
//!
//! ## Usage
//!
//! ```rust
//! use async_reply::Message;
//!
//! #[derive(Message)]
//! #[rtype(response = "Pong")]
//! struct Ping;
//!
//! struct Pong;
//!
//! fn main() {}
//! ```
//!
//! This code expands into following code:
//!
//! ```rust
//! use async_reply::Message;
//!
//! struct Ping;
//!
//! struct Pong;
//!
//! impl Message for Ping {
//! type Response = Pong;
//! }
//!
//! fn main() {}
//! ```
extern crate proc_macro;
use TokenStream;
use DeriveInput;