John Clements
91b652695b
moved TLS of sctable to ast_util, hid parameter in hygiene calls
2013-06-05 12:01:40 -07:00
John Clements
5a158f1d19
add hygiene support functions
2013-06-05 12:01:40 -07:00
John Clements
ecdb6e4722
remove unused get_ident_interner's
2013-06-05 12:01:40 -07:00
John Clements
8dad2bb281
removed unused imports (and one unused argument)
2013-06-05 12:01:39 -07:00
John Clements
19cbd0d284
remove interner from tt_reader
2013-06-05 12:01:39 -07:00
John Clements
c88f337fc9
remove unused cx's
2013-06-05 12:01:39 -07:00
John Clements
04a691a511
token_to_ident takes argument by reference
2013-06-05 12:01:38 -07:00
John Clements
3203595471
interner just uses uints, not idents with syntax context
2013-06-05 12:01:38 -07:00
John Clements
ae02bf70e0
removed some interner fields
2013-06-05 12:01:38 -07:00
John Clements
1537056982
just use TLS interner
2013-06-05 12:01:37 -07:00
John Clements
22d21ab4c2
rename repr to name
2013-06-05 12:01:37 -07:00
John Clements
d7638f9dba
change to newer macro escape mechanism, using uints in more places
2013-06-05 12:01:36 -07:00
John Clements
77c2c0900f
add renaming and sctable funs
2013-06-05 12:01:31 -07:00
Patrick Walton
8114d0e950
librustc: Disallow multiple patterns from appearing in a "let" declaration.
...
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-04 21:45:42 -07:00
bors
c354a0c7eb
auto merge of #6896 : nickdesaulniers/rust/issue4501, r=brson
...
review? @brson
2013-06-01 22:37:35 -07:00
Nick Desaulniers
ecd08b989a
Swap return value of pipes::init Fixes #4501
2013-06-01 18:19:16 -07:00
Erick Tryzelaar
23808efd11
syntax: move callee_id into the expr_ variants
2013-06-01 15:31:56 -07:00
Patrick Walton
5fb254695b
Remove all uses of pub impl
. rs=style
2013-06-01 09:18:27 -07:00
bors
2bf053c0a3
auto merge of #6851 : alexcrichton/rust/bugfixes, r=pcwalton
...
Closes #5090 by using the excellent new generic deriving code
Promotes the unreachable code attribute to a lint attribute (instead of always being a warning)
Fixes some edge cases when creating hashmaps/hashsets and also when consuming them. (fixes #5998 )
2013-05-31 23:10:36 -07:00
bors
1dd5cd9731
auto merge of #6833 : fdr/rust/fix-warnings, r=Aatch
...
Fix a laundry list of warnings involving unused imports that glutted
up compilation output. There are more, but there seems to be some
false positives (where 'remedy' appears to break the build), but this
particular set of fixes seems safe.
2013-05-31 00:43:45 -07:00
Alex Crichton
a25c7045c1
Rewrite deriving(Decodable, Encodable)
...
Now it uses the generic deriving code and should in theory work in all cases.
2013-05-30 23:48:35 -05:00
Daniel Farina
aef1e10eba
Remove unnecessary 'use' forms
...
Fix a laundry list of warnings involving unused imports that glutted
up compilation output. There are more, but there seems to be some
false positives (where 'remedy' appears to break the build), but this
particular set of fixes seems safe.
2013-05-30 13:08:18 -07:00
Niko Matsakis
7a1a40890d
Remove copy bindings from patterns.
2013-05-30 15:20:36 -04:00
Patrick Walton
206ab89629
librustc: Stop reexporting the standard modules from prelude.
2013-05-29 19:04:53 -07:00
Patrick Walton
4e3d4b36dc
libsyntax: Stop parsing mutable fields
2013-05-29 19:04:51 -07:00
Seo Sanghyeon
8f80323f09
Remove unnecessary allocations flagged by lint
2013-05-28 03:14:44 +09:00
Björn Steinbrink
6c62d77830
Use an enum for keywords and intern them to improve parser performance
...
Currently, keywords are stored in hashsets that are recreated for every
Parser instance, which is quite expensive since macro expansion creates
lots of them. Additionally, the parser functions that look for a keyword
currently accept a string and have a runtime check to validate that they
actually received a keyword.
By creating an enum for the keywords and inserting them into the
ident interner, we can avoid the creation of the hashsets and get static
checks for the keywords.
For libstd, this cuts the parse+expansion part from ~2.6s to ~1.6s.
2013-05-25 17:57:22 +02:00
Erick Tryzelaar
a4df35f2bc
cleanup warnings from libsyntax
2013-05-23 17:57:07 -07:00
Patrick Walton
3a66d732bb
libsyntax: Fix more merge fallout.
2013-05-22 21:57:11 -07:00
Patrick Walton
c10e0cb9c9
syntax: Change syntax extensions to expand to std::foo
instead of core::foo
2013-05-22 21:57:08 -07:00
Patrick Walton
c532e033c9
librustc: Change std
to extra
throughout libsyntax and librustc
2013-05-22 21:57:08 -07:00
Patrick Walton
f3723cf7c4
libextra: Rename the actual metadata names of libcore to libstd and libstd to libextra
2013-05-22 21:57:07 -07:00
Corey Richardson
7ccc97e5b4
Fix ICE in macros
2013-05-22 19:18:50 -04:00
Huon Wilson
a59bec43e3
syntax/ext: convert all AstBuilder methods to a uniform syntax.
2013-05-22 00:30:52 +10:00
Huon Wilson
6e50515530
syntax/ext: migrate build.rs functions to AstBuilder methods.
2013-05-22 00:15:36 +10:00
Huon Wilson
8c15a0ec4c
syntax/ext: collect the ast building traits into a single trait.
2013-05-22 00:04:10 +10:00
Huon Wilson
4045da9f4f
syntax/ext: modernise ext_ctxt to be CamelCase and use new.
2013-05-22 00:04:10 +10:00
Huon Wilson
eea265ea16
syntax/ext: Remove the trait-object indirection of the ext_ctxt object.
2013-05-22 00:02:37 +10:00
Huon Wilson
8e9eba8013
syntax/ext: remove the ~str dependence of the deriving code.
2013-05-21 23:33:58 +10:00
Alex Crichton
82fa0018c8
Remove all unnecessary allocations (as flagged by lint)
2013-05-20 16:10:40 -05:00
Alex Crichton
074799b4c5
Implement a lint mode to detect unnecessary allocations
2013-05-20 16:08:50 -05:00
John Clements
999f692645
getting rid of interner_key! macro
2013-05-20 11:49:21 -07:00
John Clements
fc4f304ef9
hygiene infrastructure.
...
- added a hash table to memoize rename and mark operations.
- added rename, mark, and resolve fold fns
2013-05-20 11:49:21 -07:00
Brian Anderson
66319b0278
Register snapshots
2013-05-19 23:34:32 -07:00
Marvin Löbel
7a2afb7288
Made bytes!() accept a list of string, integer or char literals
2013-05-18 00:26:04 +02:00
Alex Crichton
030c666cc1
Re-implement lint with less emphasis on item ids
...
This way it's much easier to add lints throughout compilation correctly, and
functions on impls can alter the way lints are emitted.
2013-05-17 00:49:16 -04:00
bors
53196bb364
auto merge of #6530 : huonw/rust/deriving-deepclone, r=bstrie
2013-05-16 06:58:52 -07:00
Huon Wilson
47c9157d87
syntax: use fmt! over + in deriving/clone
2013-05-16 23:22:01 +10:00
bors
f19883223c
auto merge of #6531 : sammykim/rust/bytes, r=luqmana
...
Fix #4334 .
2013-05-16 05:55:42 -07:00
Huon Wilson
cd2eb4701f
syntax: implement #[deriving(DeepClone)]. Fixes #6514 .
2013-05-16 22:55:08 +10:00