Commit graph

1086 commits

Author SHA1 Message Date
Erick Tryzelaar
5271464cc0 libsyntax: remove vecs_implicitly_copyable from the syntax extensions 2013-02-26 20:48:12 -08:00
bors
99a902c81d auto merge of #5120 : jbclements/rust/macros-have-scope, r=pcwalton
r?

After this patch, macros declared in a module, function, or block can only be used inside of that module, function or block, with the exception of modules declared with the #[macro_escape] attribute; these modules allow macros to escape, and can be used as a limited macro export mechanism.

This pull request also includes miscellaneous comments, lots of new test cases, a few renamings, and a few as-yet-unused data definitions for hygiene.
2013-02-26 20:00:38 -08:00
John Clements
6aefaf22c7 typo-fixing and name-changes 2013-02-26 15:48:00 -08:00
John Clements
08b6057538 Macros now leave scope
Macro scope is now delimited by function, block, and module boundaries,
except for modules that are marked with #[macro_escape], which allows
macros to escape.
2013-02-26 10:36:55 -08:00
John Clements
5e319fb282 Adds (more) test cases for auto_encode. 2013-02-26 10:26:42 -08:00
Patrick Walton
9b8ce0d3b5 libsyntax: Remove a mutable field from the tests. rs=demuting 2013-02-26 04:18:11 -08:00
Erick Tryzelaar
d346b51997 libsyntax: change token::to_str to take &Token 2013-02-26 01:29:27 -08:00
Erick Tryzelaar
cf6e21a17f libsyntax: change attr::parse_seq_* to take &Token 2013-02-26 00:22:30 -08:00
Erick Tryzelaar
bff22cf166 libsyntax: add some explicit copies 2013-02-25 23:37:45 -08:00
Erick Tryzelaar
3635480b15 libsyntax: change expect to take &token::Token 2013-02-25 22:30:32 -08:00
Erick Tryzelaar
4650da5888 libsyntax: change eat to take a &token 2013-02-25 21:45:46 -08:00
Erick Tryzelaar
1deb858b22 libsyntax: is_keyword should take a &~str 2013-02-25 21:23:21 -08:00
Erick Tryzelaar
f14409c528 libsyntax: progress on making syntax::visit vecs_implicitly_copyable-free 2013-02-25 07:49:34 -08:00
Erick Tryzelaar
9ac5262bdf libsyntax: convert visit to pass ty_params by reference 2013-02-25 07:27:01 -08:00
Erick Tryzelaar
44f5537abf libsyntax: add explicit modes where required to copy strs/vecs 2013-02-25 06:40:53 -08:00
Erick Tryzelaar
5b9e110eab libsyntax: Convert ast::attribute_ to store a @meta_item 2013-02-25 06:19:44 -08:00
Patrick Walton
934c938f90 libsyntax: De-mut the parser. rs=demuting 2013-02-22 16:09:16 -08:00
Patrick Walton
77dc3ad810 libsyntax: De-mut the macro parser. rs=demuting 2013-02-22 16:09:16 -08:00
Patrick Walton
17dcaee9d1 libsyntax: De-mut the pipe compiler 2013-02-22 16:09:15 -08:00
bors
c316189d15 auto merge of #5081 : brson/rust/pipes, r=pcwalton
r?
2013-02-22 11:24:38 -08:00
bors
e7924ce18f auto merge of #5076 : pcwalton/rust/demuting, r=pcwalton 2013-02-21 18:27:32 -08:00
Brian Anderson
dab6a85230 core: Extract comm from pipes. #4742 2013-02-21 17:36:54 -08:00
bors
ab784b7de5 auto merge of #5059 : Kimundi/rust/incoming, r=catamorphism
compiles-as-is, but needs a snapshot to remove the `stage0`ed extfmt export in core.

Closes #4750
2013-02-21 16:42:35 -08:00
Patrick Walton
553c27c515 librustc: De-mut some of trans 2013-02-21 15:45:55 -08:00
bors
e0767bf24f auto merge of #5068 : sethpink/rust/derive-eq-tuple-struct, r=catamorphism
Previously an unimplemented error was thrown when using #[deriving_eq] on tuple-like struct definitions.
2013-02-21 12:30:34 -08:00
Marvin Löbel
3792eb2a38 Moved core::extfmt to core::private::extfmt
Needs a snapshot to remove stage0 extfmt export in core
2013-02-21 13:32:20 +01:00
Luqman Aden
b02f5c2090 Get rid of structural records in libsyntax and the last bit in librustc. 2013-02-21 00:19:15 -08:00
Seth Pink
6f9eb6aa3c Implement #[deriving_eq] on tuple like structs 2013-02-21 15:32:20 +10:00
Patrick Walton
bf2a225c0b librustc: Separate most trait bounds with '+'. rs=plussing 2013-02-20 21:14:20 -08:00
Erick Tryzelaar
e95f21f7be convert SyntaxExtensions's key to a @~str 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
de5fdaf934 convert ast::meta_items to take @~strs 2013-02-19 10:02:52 -08:00
Erick Tryzelaar
a2b754788d convert syntax::attr to use @~strs 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
1808d747f6 Alias HashMap<~str, SyntaxExtension> to SyntaxExtensions 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
27e235b64a libsyntax and librustc: minor cleanup 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
1a5b8e4aba libsyntax: change attr:get_attr_name to take a ref 2013-02-19 10:02:51 -08:00
Erick Tryzelaar
bc62bd3782 libsyntax: make enum variants take refs 2013-02-19 10:02:51 -08:00
bors
6351515d98 auto merge of #5005 : alexcrichton/rust/bitv++, r=catamorphism
These commits take the old bitv implementation and modernize it with an explicit self, some minor touchups, and using what I think is some more recent patterns (like `::new` instead of `Type()`).

Additionally, this adds an implementation of `container::Set` on top of a bit vector to have as a set of `uint`s. I initially tried to parameterize the type for the set to be `T: NumCast` but I was hitting build problems in stage0 which I think means that it's not in a snapshot yet, so it's just hardcoded as a set of `uint`s now. In the future perhaps it could be parameterized. I'm not sure if it would really add anything, though, so maybe it's nicer to be hardcoded anyway.

I also added some extra methods to do normal bit vector operations on the set in-place, but these aren't a part of the `Set` trait right now. I haven't benchmarked any of these operations just yet, but I imagine that there's quite a lot of room for optimization here and there.
2013-02-18 18:40:33 -08:00
bors
9ba2e65fd6 auto merge of #5004 : luqmana/rust/rename-use-import, r=catamorphism
Seems like my previous pull request got lost along the way somehow. So here it is updated.
2013-02-18 17:48:34 -08:00
Alex Crichton
91fae27912 Modernize bitv mut fields and explicit self 2013-02-17 23:09:20 -05:00
Luqman Aden
0f09c106f0 libsyntax: Update view_item_use/import to reflect actual usage 2013-02-17 21:45:00 -05:00
Luqman Aden
baeac2f9ac libsyntax: Long lines. 2013-02-17 05:25:26 -05:00
Luqman Aden
de57bacf43 libsyntax: Explicit-self-ify pipes compiler. 2013-02-17 05:25:26 -05:00
Luqman Aden
0126af3144 libsyntax: Remove last use of structural records in pipes compiler. 2013-02-17 05:25:26 -05:00
Patrick Walton
bb833ca0f0 librustc: Stop parsing impl Type : Trait and fix several declarations that slipped through. r=tjc 2013-02-15 16:59:56 -08:00
Luqman Aden
e244f103c9 libsyntax: Get rid of uses of move and don't parse it. 2013-02-15 02:49:55 -08:00
bors
172c29fe0a auto merge of #4941 : nickdesaulniers/rust/issue4524cleanup, r=catamorphism
review? @brson
Issue #4524
2013-02-14 21:12:06 -08:00
Nick Desaulniers
13fe167dbb remove die definition and use in doc tests 2013-02-14 17:33:16 -08:00
Patrick Walton
9143688197 librustc: Replace impl Type : Trait with impl Trait for Type. rs=implflipping 2013-02-14 14:44:12 -08:00
bors
6efa3543a8 auto merge of #4922 : jbclements/rust/add-deriving-eq-to-asts, r=catamorphism
r?

Apply deriving_eq to the data structures in ast.rs, and get rid of the custom definitions of eq that were everywhere. resulting ast.rs is about 400 lines shorter.

Also: add a few test cases and a bunch of comments.

Also: change ast_ty_to_ty_cache to use node ids rather than ast::ty's. I believe this was a suggestion related to my changes, and it appears to pass all tests.

Also: tiny doc fix, remove references to crate keywords.
2013-02-13 18:49:29 -08:00
Nick Desaulniers
4445b38df2 Remove die!, raplace invocations with fail! Issue #4524 pt 3 2013-02-13 17:01:32 -08:00