Commit graph

1150 commits

Author SHA1 Message Date
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
eabeba3ef3 added index to test cases, more debugging output 2013-09-06 13:35:14 -07:00
John Clements
1ecc1e51c0 quote_* macros no longer need to be capturing
This is actually almost a problem, because those were my poster-child
macros for "here's how to implement a capturing macro." Following this
change, there will be no macros that use capturing; this will probably
make life unpleasant for the first person that wants to implement a
capturing macro. I should probably create a dummy_capturing macro,
just to show how it works.
2013-09-06 13:35:14 -07:00
John Clements
6c294ba538 add test case, cleanup 2013-09-06 13:35:13 -07:00
John Clements
8330411688 fixed a bug that caused double-expand-traversal of macros that expand into modules. 2013-09-06 13:35:13 -07:00
John Clements
fddc815ada WIP: adding mark-cancelling for macro_rules 2013-09-06 13:35:13 -07:00
John Clements
1a06584117 comment on hygienic context extension train fns 2013-09-06 13:35:13 -07:00
John Clements
dc7f3df27f awesome new bug! added test case 2013-09-06 13:35:12 -07:00
John Clements
dbf4e19ea5 remove unneeded imports, clean up unused var warnings 2013-09-06 13:35:12 -07:00
John Clements
60562ac9f8 whitespace, reindentation, and comments only 2013-09-06 13:35:12 -07:00
John Clements
0954e66442 uncomment mtwt_resolve calls 2013-09-06 13:35:11 -07:00
John Clements
bc2a44daf1 fix one remaining token comparison, refactor token comparison to avoid == check 2013-09-06 13:35:11 -07:00
John Clements
e29d25338d remove dead code 2013-09-06 13:35:11 -07:00
John Clements
b9bb4abcb6 capturing macros now implemented 2013-09-06 13:35:11 -07:00
John Clements
2c51e262f3 add fold_mac clause to fun_to_ctxt_folder 2013-09-06 13:35:11 -07:00
John Clements
3261b6eece WIP: adding context to macros 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
0c31c930ff add test case for macro token comparison 2013-09-06 13:35:10 -07:00
John Clements
963dab5dcb marking on both input and output from macros. nice shiny new test case framework 2013-09-06 13:35:10 -07:00
John Clements
015ba31c02 test case support fns, remove debugging test case 2013-09-06 13:35:09 -07:00
John Clements
62fee04ae9 test case work 2013-09-06 13:35:09 -07:00
John Clements
1f8e856430 re-add lost call to expand_block_elts 2013-09-06 13:35:09 -07:00
John Clements
7a9af098f0 test case work 2013-09-06 13:35:09 -07:00
John Clements
f5ab867119 use empty_ctxt to simplify downstream 2013-09-06 13:35:09 -07:00
John Clements
a666ddc135 make comparison of special_idents non-hygienic 2013-09-06 13:35:08 -07:00
John Clements
3965725d51 comments 2013-09-06 13:35:08 -07:00
John Clements
9de40dfc87 remove FIXME #2888, now bug is fixed 2013-09-06 13:35:08 -07:00
John Clements
98a6cbdba3 comments only 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
93337f0daa separate ItemDecorator from ItemDecorator 2013-09-06 13:35:08 -07:00
John Clements
431ede40df removed unneccessary SyntaxExpander structs 2013-09-06 13:35:07 -07:00
John Clements
6c6d053b01 renaming test cases 2013-09-06 13:35:07 -07:00
John Clements
2f6498f7b4 flip the switch on let renaming 2013-09-06 13:35:07 -07:00
John Clements
fa6c981606 add hygiene support fns, move them around.
also adds test cases
2013-09-06 13:35:06 -07:00
John Clements
72ee6af4d4 compare macro tokens hygienically (commented out) 2013-09-06 13:35:06 -07:00
John Clements
e1734f6d38 rename resolve to mtwt_resolve 2013-09-06 13:35:06 -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
Chris Morgan
6b7b8f2682 Add an `unreachable!()` macro.
Rationale: having a function which fails means that the location of
failure which is output is that of the unreachable() function, rather
than the caller.

This is part of #8991 but is not all of it; current usage of
``std::util::unreachable()`` must remain so for the moment, until a new
snapshot is made; then I will remove that function entirely in favour of
using this macro.
2013-09-05 16:41:27 +10:00
bors
b161e09e03 auto merge of #8977 : pnkfelix/rust/fsk-followup-on-6009-rebased, r=alexcrichton
Fix #6009.  Rebased version of #8970.  Inherits review from alexcrichton.
2013-09-04 16:20:46 -07:00
Daniel Micay
62a3434529 stop treating char as an integer type
Closes #7609
2013-09-04 08:07:56 -04:00
Felix S. Klock II
6fbb64acbe Make non-pub condition! expand to non-pub mod. Fix #6009. 2013-09-04 10:05:10 +02:00
bors
383073883f auto merge of #8963 : jmgrosen/rust/issue-8881, r=alexcrichton 2013-09-03 19:46:42 -07:00
jmgrosen
4a18d46130 Fixes #8881. condition! imports parent's pub identifiers 2013-09-03 16:11:00 -07:00
bors
dee9d7f97f auto merge of #8945 : alexcrichton/rust/ifmt-dont-move, r=thestinger 2013-09-03 09:50:58 -07:00
Marvin Löbel
7419085337 Modernized a few more types in syntax::ast 2013-09-03 14:45:06 +02:00
Alex Crichton
7e7024718a Don't have format! move out of local variables 2013-09-02 23:53:13 -07: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
Patrick Walton
4f32a2d854 librustc: Fix merge fallout. 2013-08-27 18:47:57 -07:00