about summary refs log tree commit diff
path: root/src/libsyntax/ext
AgeCommit message (Collapse)AuthorLines
2013-02-04syntax: Make the pipe compiler stop generating set_buffer_ callsTim Chevalier-2/+2
2013-02-04core/syntax: Add transitional code for pipesTim Chevalier-0/+28
2013-02-03core: convert ToStr::to_str to take explicit &selfErick Tryzelaar-2/+2
2013-02-03oldmap: use &K instead of K in find and getDaniel Micay-7/+7
2013-02-03oldmap: get rid of the legacy contains_key methodDaniel Micay-1/+1
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-10/+10
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-01Merge remote-tracking branch 'nickdesaulniers/issue4524' into nocomm1Brian Anderson-28/+42
2013-02-01Remove fail keyword from lexer & parser and clean up remaining calls toNick Desaulniers-28/+42
fail Fix merge conflicts - Issue 4524
2013-01-31test cases, cleanupJohn Clements-46/+46
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-15/+15
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-20/+8
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-29De-capitalize "note" to get rid of spurious tidy warningsTim Chevalier-1/+1
2013-01-29libsyntax: De-export libsyntax. rs=deexportingPatrick Walton-231/+229
2013-01-29libsyntax: De-export a lot of libsyntax. rs=deëxportingPatrick Walton-42/+40
2013-01-29librustc: Disallow trait bounds in types, enumerations, and structure ↵Patrick Walton-4/+11
definitions. r=tjc
2013-01-29libstd: Remove "dual impls" from the language and enforce coherence rules. ↵Patrick Walton-6/+8
r=brson "Dual impls" are impls that are both type implementations and trait implementations. They can lead to ambiguity and so this patch removes them from the language. This also enforces coherence rules. Without this patch, records can implement traits not defined in the current crate. This patch fixes this, and updates all of rustc to adhere to the new enforcement. Most of this patch is fixing rustc to obey the coherence rules, which involves converting a bunch of records to structs.
2013-01-28Link the lifetimes of regions resulting from borrows of theNiko Matsakis-3/+10
contents of other borrowed pointers to the lifetimes of the borrowed value. Fixes #3148. r=catamorphism
2013-01-24Convert pipes::Buffer into a structErick Tryzelaar-4/+4
2013-01-24Convert extfmt::rt::Conv into a structErick Tryzelaar-11/+25
2013-01-24remove support for records from auto_encodeErick Tryzelaar-182/+75
2013-01-23libsyntax: Implement `assert` as a macro (called `fail_unless!` on a ↵Patrick Walton-0/+8
transitionary basis to avoid conflicting with the keyword right now). r=brson
2013-01-23Long linesTim Chevalier-1/+2
2013-01-23renaming to adhere to conventionsJohn Clements-108/+102
2013-01-22Add is_mutbl field to argSeo Sanghyeon-0/+5
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-26/+50
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-20convert the remaining ast record types into structsErick Tryzelaar-42/+57
These are: region,arg,fn_decl,method,_mod,foreign_mod, variant_arg,enum_def_,variant_,trait_ref.
2013-01-20convert ast::{ty_field_,ty_method} into a structErick Tryzelaar-1/+1
2013-01-20convert ast::ty into a structErick Tryzelaar-35/+56
2013-01-20convert ast::expr into a structErick Tryzelaar-27/+50
2013-01-15librustc: Make the default sigil for block lambdas `&` instead of `@`.Graydon Hoare-2/+2
2013-01-14convert ast::{field_,capture_item_,mt} and middle::ty::mt into structsErick Tryzelaar-10/+26
2013-01-14Convert ast::{pat,field_pat,local_,arm} into structsErick Tryzelaar-74/+89
2013-01-14convert ast::blk_ into a structErick Tryzelaar-39/+55
2013-01-14convert ast::attribute_ and ast::view_item to a structErick Tryzelaar-6/+6
2013-01-14convert ast::struct_def to a structErick Tryzelaar-2/+2
2013-01-14convert ast::item into a structErick Tryzelaar-12/+16
2013-01-14change ast::ty_param into a struct.Erick Tryzelaar-4/+4
2013-01-14Change ast::path into a struct.Erick Tryzelaar-31/+65
2013-01-14Merge remote-tracking branch 'mneumann/f-serialize'Brian Anderson-2/+4
2013-01-11libsyntax: Fix name generation in condition! macroAndrew Paseltiner-1/+1
2013-01-10librustc: Implement `&static` as the replacement for `Durable`. r=nmatsakisPatrick Walton-10/+10
2013-01-09A collection of refactorings that I found it hard/tiresome to divide:Niko Matsakis-7/+7
- Make `extern fn()` assignable to any closure type, rather than a subtype. - Remove unused int_ty_set and float_ty_set - Refactor variable unification and make it more DRY - Do fn sub/lub/glb on the level of fn_sig - Rename infer::to_str::ToStr to infer::to_str::InferStr - Capitalize names of various types - Correct hashing of FnMeta - Convert various records-of-fns into structs-of-fns. This is both eliminating use of deprecated features and more forwards compatible with fn reform. r=pcwalton
2013-01-09core: rename vec.filter to vec.filteredErick Tryzelaar-2/+2
2013-01-09syntax: convert ast::spanned into a structErick Tryzelaar-72/+79
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-12/+84
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-84/+12
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-12/+84
module scope. r=tjc
2013-01-08Rename identifiers that still use 'alt' to use 'match'Lindsey Kuper-1/+1
This'll be less confusing for anyone who works on match in future.
2012-12-27librustc: Fix the test runner, the condition system, and core test. rs=bustagePatrick Walton-3/+3
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-126/+267
contain at least two components. r=graydon