summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2013-09-06remove dead codeJohn Clements-15/+0
2013-09-06capturing macros now implementedJohn Clements-85/+222
2013-09-06add fold_mac clause to fun_to_ctxt_folderJohn Clements-5/+12
2013-09-06add fold_mac field to fold.rsJohn Clements-24/+38
2013-09-06WIP: adding context to macrosJohn Clements-10/+16
2013-09-06rework fold so that fold_tts takes an ast_fold rather than a thunk, stop ↵John Clements-51/+69
using closures in ident traversal
2013-09-06add temporarily unused ctxt field to mac_invoc_ttJohn Clements-13/+14
2013-09-06commentsJohn Clements-8/+31
2013-09-06add test case for macro token comparisonJohn Clements-0/+4
2013-09-06marking on both input and output from macros. nice shiny new test case frameworkJohn Clements-29/+275
2013-09-06added gensym_copy mechanism to ensure sharing of pointers in the internerJohn Clements-48/+88
this makes comparisons constant-time, and enables spelling-comparison of identifiers, crucial in many parts of resolve.
2013-09-06added test for ptr_eq on fresh_name-generated identsJohn Clements-1/+32
2013-09-06fixed bug in fold's traversal of cast exprsJohn Clements-1/+1
2013-09-06new test that uncovers bug in foldJohn Clements-0/+11
2013-09-06test case support fns, remove debugging test caseJohn Clements-3/+7
2013-09-06test case workJohn Clements-4/+2
2013-09-06re-add lost call to expand_block_eltsJohn Clements-1/+2
2013-09-06re-add debug versionJohn Clements-0/+5
2013-09-06test case workJohn Clements-2/+10
2013-09-06use empty_ctxt to simplify downstreamJohn Clements-2/+5
2013-09-06make comparison of special_idents non-hygienicJohn Clements-2/+2
2013-09-06commentsJohn Clements-0/+4
2013-09-06drop back to a simple gensym approach for fresh-name.John Clements-12/+3
this is necessary so that the new idents are connected to the original strings. this is important both for error messages, and so that top-level refs get connected to the right things.
2013-09-06added FIXME commentJohn Clements-0/+4
2013-09-06remove FIXME #2888, now bug is fixedJohn Clements-14/+13
2013-09-06comments onlyJohn Clements-0/+11
2013-09-06adding test case to check marking/unmarkingJohn Clements-12/+25
2013-09-06refactor so tt_fold only requires an ident->ident fnJohn Clements-9/+11
2013-09-06separate ItemDecorator from ItemDecoratorJohn Clements-2/+2
2013-09-06removed unneccessary SyntaxExpander structsJohn Clements-33/+18
2013-09-06comments in ast.rsJohn Clements-0/+5
2013-09-06renaming test casesJohn Clements-6/+12
2013-09-06flip the switch on let renamingJohn Clements-1/+1
2013-09-06add hygiene support fns, move them around.John Clements-60/+175
also adds test cases
2013-09-06compare macro tokens hygienically (commented out)John Clements-2/+19
2013-09-06rename resolve to mtwt_resolveJohn Clements-4/+3
2013-09-06commenting out special Eq implementation for nowJohn Clements-2/+13
See the comments for details on why I'm leaving this code in, though commented out.
2013-09-06disallow ident equality checks when contexts are not equalJohn Clements-1/+14
2013-09-05auto merge of #8997 : fhahn/rust/issue_8985, r=catamorphism,brsonbors-1/+1
Patch for #8985
2013-09-05auto merge of #8992 : chris-morgan/rust/unreachable-macro, r=brsonbors-0/+30
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-05Rename str::from_bytes to str::from_utf8, closes #8985Florian Hahn-1/+1
2013-09-05Remove the __log function for __log_levelAlex Crichton-84/+50
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-04auto merge of #8875 : alexcrichton/rust/fix-inner-static-library-bug, r=huonwbors-13/+63
These commits fix bugs related to identically named statics in functions of implementations in various situations. The commit messages have most of the information about what bugs are being fixed and why. As a bonus, while I was messing around with name mangling, I improved the backtraces we'll get in gdb by removing `__extensions__` for the trait/type being implemented and by adding the method name as well. Yay!
2013-09-05Add an ``unreachable!()`` macro.Chris Morgan-0/+30
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-04Improve name mangling for gdbAlex Crichton-29/+40
Remove __extensions__ from method symbols as well as the meth_XXX. The XXX is now used to append a few characters at the end of the name of the symbol. Closes #6602
2013-09-04auto merge of #8977 : pnkfelix/rust/fsk-followup-on-6009-rebased, r=alexcrichtonbors-2/+1
Fix #6009. Rebased version of #8970. Inherits review from alexcrichton.
2013-09-04debuginfo: Fixed some merge falloutMichael Woerister-1/+1
2013-09-04debuginfo: Support for variables captured in closures and closure type ↵Michael Woerister-4/+4
descriptions.
2013-09-04stop treating char as an integer typeDaniel Micay-22/+41
Closes #7609
2013-09-04Make non-pub condition! expand to non-pub mod. Fix #6009.Felix S. Klock II-2/+1