Patrick Walton
b1c699815d
librustc: Don't accept as Trait
anymore; fix all occurrences of it.
2013-03-13 20:07:09 -07:00
Patrick Walton
7538450b8d
libsyntax: Remove newtype enums from libsyntax. rs=deenum
2013-03-11 09:35:59 -07:00
Patrick Walton
d18f785457
librustc: Replace all uses of fn()
with &fn()
. rs=defun
2013-03-11 09:35:58 -07:00
Niko Matsakis
7cbd4b20ee
Remove @ast::Region and replace with @ast::Lifetime.
...
Modify pretty-printer to emit lifetimes and fix a few minor
parser bugs that this uncovered.
2013-03-09 19:43:59 -05:00
Alex Crichton
cb4ab76e4a
Adding missing imports for tests, and gate off others
2013-03-04 12:27:01 -05:00
Alex Crichton
dfb5c10dea
Remove unused imports throughout src/
2013-03-04 12:27:01 -05:00
Erick Tryzelaar
b9d9157883
libsyntax: add &self to extensions
2013-03-03 15:25:08 -08:00
Erick Tryzelaar
aa3505d8ff
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-03-01 20:35:55 -08:00
Niko Matsakis
ca9549bdfc
Avoid calling to_vec() unnecessarily in parser.
...
Also, rename the OptVec-to-vector conversion method to
opt_vec::take_vec() and convert from a method into a fn
because I fear strange bugs.
2013-03-01 19:58:17 -05:00
Erick Tryzelaar
85fecd0ba7
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-03-01 07:01:48 -08:00
Niko Matsakis
4ecb672d7f
Remove legacy object creation mode, and convert remaining uses of it
2013-02-28 20:28:04 -05:00
Alex Crichton
2df07ddc25
Fix implicit leaks of imports throughout libraries
...
Also touch up use of 'pub' and move some tests around so the tested functions
don't have to be 'pub'
2013-02-28 18:00:34 -05:00
Erick Tryzelaar
3953bdd812
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-02-28 07:25:31 -08:00
bors
d0a12347de
auto merge of #5141 : nikomatsakis/rust/region-syntax-expl-lifetimes, r=nikomatsakis
...
Major changes are:
- replace ~[ty_param] with Generics structure, which includes
both OptVec<TyParam> and OptVec<Lifetime>;
- the use of syntax::opt_vec to avoid allocation for empty lists;
cc #4846
r? @graydon
2013-02-27 17:36:41 -08:00
Niko Matsakis
c623d21e38
Introduce lifetime declarations into the lists of type parameters.
...
Major changes are:
- replace ~[ty_param] with Generics structure, which includes
both OptVec<TyParam> and OptVec<Lifetime>;
- the use of syntax::opt_vec to avoid allocation for empty lists;
cc #4846
2013-02-27 19:42:09 -05:00
Erick Tryzelaar
7d0ec86c4a
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-02-27 11:03:21 -08:00
Patrick Walton
07c3f5c0de
librustc: Forbid pub
or priv
before trait implementations
2013-02-27 09:40:16 -08:00
Erick Tryzelaar
5271464cc0
libsyntax: remove vecs_implicitly_copyable from the syntax extensions
2013-02-26 20:48:12 -08:00
bors
99a902c81d
auto merge of #5120 : jbclements/rust/macros-have-scope, r=pcwalton
...
r?
After this patch, macros declared in a module, function, or block can only be used inside of that module, function or block, with the exception of modules declared with the #[macro_escape] attribute; these modules allow macros to escape, and can be used as a limited macro export mechanism.
This pull request also includes miscellaneous comments, lots of new test cases, a few renamings, and a few as-yet-unused data definitions for hygiene.
2013-02-26 20:00:38 -08:00
John Clements
5e319fb282
Adds (more) test cases for auto_encode.
2013-02-26 10:26:42 -08:00
Patrick Walton
9b8ce0d3b5
libsyntax: Remove a mutable field from the tests. rs=demuting
2013-02-26 04:18:11 -08:00
Erick Tryzelaar
44f5537abf
libsyntax: add explicit modes where required to copy strs/vecs
2013-02-25 06:40:53 -08:00
Erick Tryzelaar
5b9e110eab
libsyntax: Convert ast::attribute_ to store a @meta_item
2013-02-25 06:19:44 -08:00
Patrick Walton
bf2a225c0b
librustc: Separate most trait bounds with '+'. rs=plussing
2013-02-20 21:14:20 -08:00
Erick Tryzelaar
a2b754788d
convert syntax::attr to use @~strs
2013-02-19 10:02:51 -08:00
Erick Tryzelaar
1a5b8e4aba
libsyntax: change attr:get_attr_name to take a ref
2013-02-19 10:02:51 -08:00
Erick Tryzelaar
bc62bd3782
libsyntax: make enum variants take refs
2013-02-19 10:02:51 -08:00
Patrick Walton
9143688197
librustc: Replace impl Type : Trait
with impl Trait for Type
. rs=implflipping
2013-02-14 14:44:12 -08:00
Nick Desaulniers
4445b38df2
Remove die!, raplace invocations with fail! Issue #4524 pt 3
2013-02-13 17:01:32 -08:00
John Clements
9df11ae83f
retabbing
2013-02-13 10:49:36 -08:00
John Clements
46d2be1bd4
added rather elaborate test framework
2013-02-12 17:18:29 -08:00
John Clements
394f8eeb7e
tidy
2013-02-09 13:37:04 -08:00
John Clements
765961438d
fix typos in sample code, add enum to json encoder, add test case
2013-02-09 13:37:04 -08:00
Niko Matsakis
a32498d846
Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
...
correct handling of moves for struct-record update.
Part of #3678 . Fixes #2828 , #3904 , #4719 .
2013-02-07 05:53:30 -08:00
Daniel Micay
319eeb1c79
rename map -> oldmap and mark it as deprecated
...
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
Brian Anderson
9dc6938292
Merge remote-tracking branch 'nickdesaulniers/issue4524' into nocomm1
2013-02-01 11:18:58 -08:00
Nick Desaulniers
7868b6bf55
Remove fail keyword from lexer & parser and clean up remaining calls to
...
fail
Fix merge conflicts - Issue 4524
2013-02-01 00:15:42 -08:00
John Clements
53688addaa
test cases, cleanup
2013-01-31 23:05:12 -08:00
Nick Desaulniers
aee7929469
Replace most invocations of fail keyword with die! macro
2013-01-31 20:12:49 -08:00
Niko Matsakis
0682ad0eb9
Finalize moves-based-on-type implementation.
...
Changes:
- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
(though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
(see details below)
Future work (I'll open bugs for these...):
- Improve error messages for moves that are due
to bindings
- Add support for moving owned content like a.b.c
to borrow check, test in trans (but I think it'll
"just work")
- Proper fix for def-ids in params
Def ids in params:
Move captures into a map instead of recomputing.
This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining. I am
not sure of my preferred fix for the larger bug yet. This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
Patrick Walton
b070590564
libsyntax: De-export libsyntax. rs=deexporting
2013-01-29 14:42:23 -08:00
Niko Matsakis
d4fd30c6ac
Link the lifetimes of regions resulting from borrows of the
...
contents of other borrowed pointers to the lifetimes of the
borrowed value. Fixes #3148 .
r=catamorphism
2013-01-28 10:00:23 -08:00
Erick Tryzelaar
6e2ae2c2c1
remove support for records from auto_encode
2013-01-24 16:24:30 -08:00
Seo Sanghyeon
9a5d617092
Add is_mutbl field to arg
2013-01-22 23:34:33 -08:00
Erick Tryzelaar
7f2c399f3a
Convert many libsyntax records into structs
...
Specifically:
ast_map::ctx
ast_util::id_range
diagnostic::{handler_t,codemap_t}
auto_encode::field
ext::base::{macro_def,syntax_expander_tt,syntax_expander_tt_item}
ext::pipes::proto::next_state
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
d5d77b9351
convert the remaining ast record types into structs
...
These are: region,arg,fn_decl,method,_mod,foreign_mod,
variant_arg,enum_def_,variant_,trait_ref.
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
8cdc3fda11
convert ast::ty into a struct
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
8a3a1fc148
convert ast::expr into a struct
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
293cd3480c
convert ast::{field_,capture_item_,mt} and middle::ty::mt into structs
2013-01-14 21:36:27 -08:00
Erick Tryzelaar
4bcd19f6be
Convert ast::{pat,field_pat,local_,arm} into structs
2013-01-14 20:52:28 -08:00