Commit Graph

1867 Commits

Author SHA1 Message Date
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 ec0a64def5 memoization for resolve 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 9ab2cfdae6 added utility function 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 dfa04cecca add fold_mac field to fold.rs 2013-09-06 13:35:10 -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 3621c674cc comments 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 58e7598c2e added gensym_copy mechanism to ensure sharing of pointers in the interner
this makes comparisons constant-time, and enables spelling-comparison
of identifiers, crucial in many parts of resolve.
2013-09-06 13:35:10 -07:00
John Clements 9d33001a90 added test for ptr_eq on fresh_name-generated idents 2013-09-06 13:35:09 -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 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 9071ac60b6 re-add debug version 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 d1c01734f3 drop back to a simple gensym approach for fresh-name.
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-06 13:35:08 -07:00
John Clements 7bf75adfd9 added FIXME comment 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 b7c0512b27 refactor so tt_fold only requires an ident->ident fn 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 d8276e75f0 comments in ast.rs 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
John Clements acad9f35b3 commenting out special Eq implementation for now
See the comments for details on why I'm leaving this code
in, though commented out.
2013-09-06 13:34:58 -07:00
John Clements 77c96d754e disallow ident equality checks when contexts are not equal 2013-09-06 09:28:45 -07:00
bors 6f9ce0948a auto merge of #8997 : fhahn/rust/issue_8985, r=catamorphism,brson
Patch for #8985
2013-09-05 15:00:49 -07:00
bors d1dde99e4b auto merge of #8992 : chris-morgan/rust/unreachable-macro, r=brson
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 13:50:46 -07:00
Florian Hahn de39874801 Rename str::from_bytes to str::from_utf8, closes #8985 2013-09-05 14:17:24 +02:00
bors 3c3ae1d0e2 auto merge of #8875 : alexcrichton/rust/fix-inner-static-library-bug, r=huonw
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-04 23:55:46 -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
Alex Crichton 7baff57f26 Improve name mangling for gdb
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-04 23:28:23 -07:00