Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate bytes; // 0.4.12
- use bytes::BufMut;
- #[derive(Debug)]
- struct Message {
- id: u32,
- body: Body,
- }
- #[derive(Debug)]
- enum Body {
- SendMessage { to: String, message: String },
- ReceiveMessage { from: String, message: String },
- }
- fn main() {
- let m = Message {
- id: 1,
- body: Body::SendMessage {
- to: "#rust".to_string(),
- message: "help".to_string(),
- },
- };
- println!("{:#?}", m);
- // This seems super awkward, is there a way of not listing each attribute?
- match m.body {
- Body::SendMessage{message, to} => println!("{} please {}", to, message),
- _ => ()
- };
- // Is there some way I can get this behaviour? I don't really want to
- // implement IntoBuf for every variant if I can help it?
- let b = bytes::BytesMut::new();
- b.put(m);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement