method_chaining 0.1.1

A Rust procedural macro that automatically makes functions and structs chainable.
Documentation
use std::collections::HashMap;

use method_chaining::*;

#[chainable]
#[chain_push(items)]
#[derive(Default)]
struct MyList {
    items: Vec<String>,
    name: String,
}

#[chainable]
#[chain_insert(map)]
#[derive(Default)]
struct MyMap {
    map: HashMap<String, i32>,
    name: String,
}

#[test]
fn test1() {
    let list = MyList::default()
        .with_name("My List".to_string())
        .push_items("a".to_string())
        .push_items("b".to_string());

    let map = MyMap::default()
        .with_name("My Map".to_string())
        .insert_map("key1".to_string(), 42)
        .insert_map("key2".to_string(), 24);
}