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