rust-lang/rust — pull request #17162 by sfackler (2014-09-11 04:02:37+00:00)
Title: Make ItemModifier and ItemDecorator take trait objects

The other extension types already worked this way and it can be useful to track some state along with the extension.

I also removed the `BasicMacroExpander` and `BasicIdentMacroExpander` since the span inside of them was never used. The expander function types now directly implement the relevant trait.