summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2013-09-08Fix pretty-printing of empty impl itemsJakub-1/+3
2013-09-08syntax: aesthetic improvements to the `for` desugaring.Huon Wilson-130/+38
2013-09-08syntax: implement labelled breaks for `for`.Huon Wilson-15/+25
`for` desugars to `loop` so it is trivial to just desugar to `loop` while retaining any label.
2013-09-08auto merge of #9035 : alexcrichton/rust/fewer-clownshoes, r=huonwbors-23/+23
This removes another large chunk of this odd 'clownshoes' identifier showing up in symbol names. These all originated from external crates because the encoded items were encoded independently of the paths calculated in ast_map. The encoding of these paths now uses the helper function in ast_map to calculate the "pretty name" for an impl block. Unfortunately there is still no information about generics in the symbol name, but it's certainly vastly better than before hash::__extensions__::write::_version::v0.8 becomes hash::Writer$SipState::write::hversion::v0.8 This also fixes bugs in which lots of methods would show up as `meth_XXX`, they now only show up as `meth` and throw some extra characters onto the version string.
2013-09-06Remove even more usage of clownshoes in symbolsAlex Crichton-23/+23
This removes another large chunk of this odd 'clownshoes' identifier showing up in symbol names. These all originated from external crates because the encoded items were encoded independently of the paths calculated in ast_map. The encoding of these paths now uses the helper function in ast_map to calculate the "pretty name" for an impl block. Unfortunately there is still no information about generics in the symbol name, but it's certainly vastly better than before hash::__extensions__::write::_version::v0.8 becomes hash::Writer$SipState::write::hversion::v0.8 This also fixes bugs in which lots of methods would show up as `meth_XXX`, they now only show up as `meth` and throw some extra characters onto the version string.
2013-09-06added index to test cases, more debugging outputJohn Clements-4/+11
2013-09-06quote_* macros no longer need to be capturingJohn Clements-91/+19
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-06comment fixJohn Clements-1/+1
2013-09-06add test case, cleanupJohn Clements-17/+14
2013-09-06add display_sctable fn to ast_utilJohn Clements-0/+9
2013-09-06fixed a bug that caused double-expand-traversal of macros that expand into ↵John Clements-19/+10
modules.
2013-09-06WIP: adding mark-cancelling for macro_rulesJohn Clements-7/+57
2013-09-06added string_to_ttsJohn Clements-0/+6
2013-09-06commentsJohn Clements-0/+9
2013-09-06comment on hygienic context extension train fnsJohn Clements-0/+11
2013-09-06awesome new bug! added test caseJohn Clements-13/+68
2013-09-06expose mtwt_marksof for testingJohn Clements-0/+5
2013-09-06ident->nameJohn Clements-2/+2
2013-09-06remove unneeded imports, clean up unused var warningsJohn Clements-16/+15
2013-09-06whitespace, reindentation, and comments onlyJohn Clements-24/+37
2013-09-06memoization for resolveJohn Clements-40/+93
2013-09-06uncomment mtwt_resolve callsJohn Clements-19/+43
2013-09-06added utility functionJohn Clements-0/+37
2013-09-06fix one remaining token comparison, refactor token comparison to avoid == checkJohn Clements-11/+10
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