expandable-impl 0.1.1

What if we could check declarative macros before using them?
Documentation
## Textbook example

`rustc` treats macro definitions as some opaque piece of tokens and don't do any
check on them. For instance, the following macro definition is valid:

```rust
macro_rules! my_vec {
  ($($t:expr),*) => {{
      let mut buffer = Vec::new();

      $(
          buffer->push($t);
      )*

      buffer
  }};
}
```

However, any call to the `my_vec` macro is invalid, as `->` can't be used for
method calls.