Niko Matsakis
33c6d3fd78
Allow attributes to appear as macro arguments
...
Fixes #8393
2013-08-08 19:41:02 -04:00
Erick Tryzelaar
1e490813b0
core: option.map_consume -> option.map_move
2013-08-07 08:52:09 -07:00
Daniel Micay
1008945528
remove obsolete foreach keyword
...
this has been replaced by `for`
2013-08-03 22:48:02 -04:00
Daniel Micay
1fc4db2d08
migrate many for loops to foreach
2013-08-01 05:34:55 -04:00
Daniel Micay
b57ffef37e
convert pure to a reserved keyword
2013-08-01 01:00:32 -04:00
Daniel Micay
dabd476203
make in and foreach get treated as keywords
2013-08-01 00:21:13 -04:00
Daniel Micay
c47be6929b
remove copy as a keyword
2013-07-31 20:18:28 -04:00
Graydon Hoare
9a2d183d6a
syntax: add temporary 'foreach' keyword.
2013-07-30 16:11:49 -07:00
Graydon Hoare
a8840d70a5
syntax: add 'in' keyword
2013-07-30 16:11:49 -07:00
Birunthan Mohanathas
d047cf1ec6
Change 'print(fmt!(...))' to printf!/printfln! in src/lib*
2013-07-24 09:45:20 -04:00
Michael Woerister
4bd1424622
Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.
...
`crate => Crate`
`local => Local`
`blk => Block`
`crate_num => CrateNum`
`crate_cfg => CrateConfig`
Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-22 15:35:28 +02:00
Daniel Micay
ed67cdb73c
new snapshot
2013-07-22 01:09:48 -04:00
Patrick Walton
99d44d24c7
librustc: Remove copy expressions from the language.
2013-07-17 14:57:52 -07:00
Patrick Walton
99b33f7219
librustc: Remove all uses of "copy".
2013-07-17 14:57:51 -07:00
Alex Crichton
9fd2ac7428
Make TLS keys actually take up space
...
If the TLS key is 0-sized, then the linux linker is apparently smart enough to
put everything at the same pointer. OSX on the other hand, will reserve some
space for all of them. To get around this, the TLS key now actuall consumes
space to ensure that it gets a unique pointer
2013-07-14 10:15:07 -07:00
Alex Crichton
e3211fa1f1
Purge the last remnants of the old TLS api
...
Closes #3273
2013-07-14 09:29:12 -07:00
Alex Crichton
f9bf69d253
Remove all external requirements of @ from TLS
...
Closes #6004
2013-07-11 00:37:13 -07:00
Alex Crichton
cb5b9a477c
Rename local_data methods/types for less keystrokes
2013-07-09 17:39:49 -07:00
James Miller
47eca2113c
De-share ast::Ty
2013-07-07 22:51:10 +12:00
James Miller
cd1b6c8979
De-managed ast::Path
2013-07-07 22:51:09 +12:00
Alex Crichton
8fe6fc11de
Change char::escape_{default,unicode} to take callbacks instead of allocating
...
strings
2013-06-30 09:19:02 -07:00
Ben Blum
75b80bad63
Use more deriving(IterBytes) in libsyntax.
2013-06-29 03:58:50 -04:00
Ben Blum
5784c0912f
Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.
2013-06-29 03:58:50 -04:00
Patrick Walton
bb830558d1
librustc: Fix merge fallout and test cases.
2013-06-28 10:44:17 -04:00
Patrick Walton
a1531ed946
librustc: Remove the broken overloaded assign-ops from the language.
...
They evaluated the receiver twice. They should be added back with
`AddAssign`, `SubAssign`, etc., traits.
2013-06-28 10:44:16 -04:00
Patrick Walton
1eec3bba13
librustc: Rename Const to Freeze
2013-06-28 10:44:15 -04:00
Corey Richardson
0d471d310d
great renaming propagation: syntax
2013-06-25 16:15:07 -04:00
Philipp Brüschweiler
1b76bac41d
syntax: Remove unused tokens
...
TyDesc, TyVisitor and intrinsic are not used anymore.
2013-06-23 12:49:16 +02:00
James Miller
b6ecf60d89
libsyntax: cleanup warnings
2013-06-21 02:43:03 +12:00
James Miller
3bc4d1a120
Remove all #[cfg(stage0)]-protected code
...
New snapshot means this can all go. Also removes places that have
comments that say they are workarounds for stage0 errors.
2013-06-21 02:43:02 +12:00
Luqman Aden
73c1839579
libsyntax: Remove drop as a keyword.
2013-06-20 14:34:22 +12:00
Huon Wilson
096f6f56a8
Use @str instead of @~str in libsyntax and librustc. Fixes #5048 .
...
This almost removes the StringRef wrapper, since all strings are
Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts
several things to be &'static str (the lint table and the intrinsics
table).
There are many instances of .to_managed(), unfortunately.
2013-06-13 10:20:52 +10:00
Huon Wilson
3a1e13c7a0
std: convert str::escape_* to methods.
2013-06-12 12:21:04 +10:00
Huon Wilson
98ba91f81b
remove unused import warnings
2013-06-09 02:22:23 +10:00
John Clements
fe6baa9023
added fresh-name fn
2013-06-05 12:01:40 -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
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
Patrick Walton
5fb254695b
Remove all uses of pub impl. rs=style
2013-06-01 09:18:27 -07: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
Patrick Walton
206ab89629
librustc: Stop reexporting the standard modules from prelude.
2013-05-29 19:04:53 -07:00
Patrick Walton
481d4ca43f
libsyntax: Make drop no longer a keyword
2013-05-29 19:04:50 -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
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
Alex Crichton
82fa0018c8
Remove all unnecessary allocations (as flagged by lint)
2013-05-20 16:10:40 -05:00
John Clements
999f692645
getting rid of interner_key! macro
2013-05-20 11:49:21 -07:00
Brian Anderson
66319b0278
Register snapshots
2013-05-19 23:34:32 -07:00
Huon Wilson
5dc5efefd4
syntax: deprecate #[auto_{en,de}code] in favour of #[deriving({En,De}codable)].
...
Replace all instances of #[auto_*code] with the appropriate #[deriving] attribute
and remove the majority of the actual code, leaving stubs to refer the user to
the new syntax.
2013-05-16 08:55:57 +10:00