]> git.lizzy.rs Git - rust.git/commit
auto merge of #10649 : sfackler/rust/multi-macro, r=alexcrichton
authorbors <bors@rust-lang.org>
Tue, 26 Nov 2013 22:52:05 +0000 (14:52 -0800)
committerbors <bors@rust-lang.org>
Tue, 26 Nov 2013 22:52:05 +0000 (14:52 -0800)
commit18687a92ae6b79eb221706db7b7390330b2f7a21
treeaa98b6f6f2366fec615187ea049608a81fba05d8
parent35ebf0348905a3a78025af4019e23ab97c86ec34
parentc403c1f18e987482a050299a647b0fbcdfea09ad
auto merge of #10649 : sfackler/rust/multi-macro, r=alexcrichton

The majority of this change is modifying some of the `ast_visit` methods to return multiple values.

It's prohibitively expensive to allocate a `~[Foo]` every time a statement, declaration, item, etc is visited, especially since the vast majority will have 0 or 1 elements. I've added a `SmallVector` class that avoids allocation in the 0 and 1 element cases to take care of that.