Steven Fackler
3965dddf49
Make ast_fold take &mut self
2013-12-29 23:41:05 -08:00
Seo Sanghyeon
4a13364010
Remove obsolete mutability from ast::Ty
2013-12-17 03:01:40 +09:00
Kiet Tran
1755408d1a
Remove dead codes
2013-12-08 02:55:28 -05:00
bors
df41115213
auto merge of #10750 : Blei/rust/no-at-struct-field, r=alexcrichton
2013-12-01 05:42:06 -08:00
Philipp Brüschweiler
47ce981903
ast: Remove one @
and fix the fallout
2013-12-01 11:24:58 +01:00
Eduard Burtescu
a9c4b18b18
Box Block, fn_decl, variant and Ty in the AST, as they were inflating critical enum sizes.
2013-12-01 00:00:39 +02:00
Eduard Burtescu
f09b7b0ecd
Freeze the AST by removing a couple of unused @mut ~[T] from token_tree.
2013-11-27 17:48:58 +02:00
Steven Fackler
c144752a2d
Support multiple item macros
...
Closes #4375
2013-11-26 13:56:02 -08:00
Patrick Walton
efc512362b
libsyntax: Remove all non-proc
do
syntax.
2013-11-26 08:24:18 -08:00
Seo Sanghyeon
8470639319
Remove ty_mac
2013-11-21 22:59:56 +09:00
Patrick Walton
492677ec1e
libsyntax: Change all uses of &fn
to ||
.
2013-11-19 12:40:19 -08:00
Brian Anderson
85f107d8cb
Use '..' as slice wildcard in vectors
2013-11-18 16:19:48 -08:00
Niko Matsakis
1f4faaee40
Generalize AST and ty::Generics to accept multiple lifetimes.
2013-11-08 19:42:46 -05:00
Luqman Aden
c669ccf3d3
libsyntax/librustc: Allow calling variadic foreign functions.
2013-11-04 23:53:11 -05:00
Patrick Walton
7e77bf1769
librustc: Implement the proc
type as sugar for ~once fn
and proc
...
notation for closures, and disable the feature gate for `once fn` if
used with the `~` sigil.
2013-10-29 10:34:17 -07:00
Joshua Yanovski
01ab8542fb
Field identifiers now include specific spans ( Closes #8263 ).
2013-10-28 22:57:34 -07:00
Luqman Aden
12308db3d2
libsyntax/librustc: Allow mut qualifier in patterns.
2013-10-25 01:21:07 -04:00
Alex Crichton
daf5f5a4d1
Drop the '2' suffix from logging macros
...
Who doesn't like a massive renaming?
2013-10-22 08:09:56 -07:00
Alex Crichton
b70306158f
Remove named extern blocks from the AST
...
There's currently a fair amount of code which is being ignored on unnamed blocks
(which are the default now), and I opted to leave it commented out for now. I
intend on very soon revisiting on how we perform linking with extern crates in
an effort to support static linking.
2013-10-10 18:04:58 -07:00
Daniel Micay
6a90e80b62
option: rewrite the API to use composition
2013-10-09 09:17:29 -04:00
Alex Crichton
af3b132285
syntax: Remove usage of fmt!
2013-09-30 23:21:19 -07:00
Alex Crichton
7b18976f08
Remove all usage of @ast::Crate
2013-09-29 16:21:25 -07:00
Patrick Walton
90d3da9711
test: Fix rustdoc and tests.
2013-09-23 18:23:22 -07:00
Patrick Walton
9a4de3f305
libsyntax: Introduce routines and remove all @fn
s from libsyntax save the old visitor
2013-09-23 18:23:21 -07:00
Patrick Walton
3e5de06135
librustc: Change fold to use traits instead of @fn
.
2013-09-23 18:23:17 -07:00
Brian Anderson
c62919f607
Work around a compiler crash folding labeled break. #9129
...
Servo is hitting this problem, so this is a workaround for a lack of a real solution.
2013-09-13 16:00:18 -07:00
John Clements
422cf1adc5
change type of ExprLoop and ExprBreak elts from ident->name.
...
Lots of downstream changes in librustc, should be infinitesimally faster.
2013-09-10 14:12:54 -07:00
Niko Matsakis
a5ad4c3794
Delay assignment of node ids until after expansion. Ensures that each AST node
...
has a unique id. Fixes numerous bugs in macro expansion and deriving. Add two
representative tests.
Fixes #7971
Fixes #6304
Fixes #8367
Fixes #8754
Fixes #8852
Fixes #2543
Fixes #7654
2013-09-10 05:45:12 -04:00
bors
059cbaadfa
auto merge of #9005 : alexcrichton/rust/rusty-log, r=brson
...
Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.
Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
2013-09-09 10:41:05 -07:00
Huon Wilson
07351b44c6
syntax: implement labelled breaks for for
.
...
`for` desugars to `loop` so it is trivial to just desugar to `loop` while
retaining any label.
2013-09-08 22:08:01 +10:00
John Clements
4664d3320d
comment fix
2013-09-06 13:35:14 -07:00
John Clements
b9bb4abcb6
capturing macros now implemented
2013-09-06 13:35:11 -07:00
John Clements
dfa04cecca
add fold_mac field to fold.rs
2013-09-06 13:35:10 -07:00
John Clements
34f31e2961
rework fold so that fold_tts takes an ast_fold rather than a thunk, stop using closures in ident traversal
2013-09-06 13:35:10 -07:00
John Clements
09e6dda4f2
add temporarily unused ctxt field to mac_invoc_tt
2013-09-06 13:35:10 -07:00
John Clements
cd4e637ae4
fixed bug in fold's traversal of cast exprs
2013-09-06 13:35:09 -07:00
John Clements
d876a721d2
new test that uncovers bug in fold
2013-09-06 13:35:09 -07:00
John Clements
9de40dfc87
remove FIXME #2888 , now bug is fixed
2013-09-06 13:35:08 -07:00
John Clements
91d3c36430
adding test case to check marking/unmarking
2013-09-06 13:35:08 -07:00
John Clements
b7c0512b27
refactor so tt_fold only requires an ident->ident fn
2013-09-06 13:35:08 -07:00
Alex Crichton
8a966183fe
Remove the __log function for __log_level
...
Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.
Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
2013-09-05 01:48:20 -07:00
Marvin Löbel
7419085337
Modernized a few more types in syntax::ast
2013-09-03 14:45:06 +02:00
Marvin Löbel
857f867320
Renamed syntax::ast::ident -> Ident
2013-09-02 02:51:21 +02:00
Marvin Löbel
539f37925c
Modernized a few type names in rustc and syntax
2013-09-01 14:43:26 +02:00
bors
7971c46c44
auto merge of #8718 : bblum/rust/typeof, r=pcwalton
...
r? anybody
2013-08-28 15:30:38 -07:00
Patrick Walton
3b6314c39b
librustc: Add support for type parameters in the middle of paths.
...
For example, `foo::<T>::bar::<U>`.
This doesn't enforce that the type parameters are in the right
positions, however.
2013-08-27 18:46:51 -07:00
Ben Blum
e9f6f3f2cc
Parse and reserve typeof keyword. #3228
2013-08-23 17:24:14 -04:00
Erick Tryzelaar
68f40d215e
std: Rename Iterator.transform -> .map
...
cc #5898
2013-08-10 07:33:21 -07:00
Erick Tryzelaar
fad7857c7b
Mass rename of .consume{,_iter}() to .move_iter()
...
cc #7887
2013-08-10 07:01:07 -07:00
Erick Tryzelaar
1e490813b0
core: option.map_consume -> option.map_move
2013-08-07 08:52:09 -07:00