about summary refs log tree commit diff
path: root/src/libsyntax/ast_util.rs
AgeCommit message (Collapse)AuthorLines
2013-01-29libstd: Remove "dual impls" from the language and enforce coherence rules. ↵Patrick Walton-1/+1
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-22Add is_mutbl field to def_argSeo Sanghyeon-1/+1
2013-01-22Change debuginfo to not use an option for the output type...Tim Chevalier-1/+3
...now without a random libuv change.
2013-01-22Revert "Clean up previous commit to not require an Option"Tim Chevalier-3/+1
I made a mistake and included some submodule weirdness. About to re-push the patch without that. This reverts commit 17ea548275364fac7cb5adbdc442010d1ba0d38d.
2013-01-22Clean up previous commit to not require an OptionTim Chevalier-1/+3
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-2/+5
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-2/+5
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-7/+13
2013-01-20convert ast::ty into a structErick Tryzelaar-1/+1
2013-01-14Convert ast::{pat,field_pat,local_,arm} into structsErick Tryzelaar-3/+3
2013-01-14convert ast::blk_ into a structErick Tryzelaar-4/+12
2013-01-14Convert ast::def_id into a struct.Erick Tryzelaar-1/+3
2013-01-14Change ast::path into a struct.Erick Tryzelaar-2/+5
2013-01-11Make ast_util::path_name_i take a slice vector, eliminate a bad copyTim Chevalier-1/+1
2013-01-09A collection of refactorings that I found it hard/tiresome to divide:Niko Matsakis-4/+2
- 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-5/+6
2013-01-09syntax: convert ast::spanned into a structErick Tryzelaar-2/+2
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+3
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-3/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+3
module scope. r=tjc
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-4/+14
contain at least two components. r=graydon
2012-12-17Switch from serialization to std::serialize. (snapshot)Erick Tryzelaar-2/+2
2012-12-17Add support for destructuring vectors in match expressionsJakub Wieczorek-0/+8
2012-12-13librustc: Allow moves out of `self`. r=nmatsakisPatrick Walton-3/+3
2012-12-10Remove un-needed code for obsolete classesTim Chevalier-2/+2
and rename "class" to "struct" everywhere possible (except local vars, I was too lazy for that) -- that is why this commit is so big. No review, just dead code removal and renaming. Closes #3515
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-12/+12
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-30Disallow dereferencing enum types when the variant is privateTim Chevalier-0/+40
If an enum type's only variant is private, disallow dereferencing values of its type. Due to #4082, this only applies to enums that are in the same crate. r=pcwalton Closes #818
2012-11-30libs: Remove transitionary material on iter_bytes, add workcache to build.Graydon Hoare-9/+0
2012-11-29librustc: Eliminate most expressions of the form `a.b()` that are not method ↵Patrick Walton-2/+2
calls. rs=refactoring
2012-11-29Distinguish `stmt_mac`s that are followed by semicolons and those that aren't.Paul Stansifer-1/+1
2012-11-29Allow for macros to occur in statement position.Paul Stansifer-1/+2
2012-11-28librustc: Add explicit self to IterBytes. r=nmatsakisPatrick Walton-0/+9
2012-11-16Change spans to use byte offsets instead of char offsetsBrian Anderson-4/+4
2012-11-14Add types for character position and byte position in the codemapBrian Anderson-4/+4
2012-11-12Convert most codemap types from records to structsBrian Anderson-1/+1
2012-11-07rustc: Support irrefutable patterns in function arguments. r=nmatsakisPatrick Walton-0/+6
2012-10-25rustc: Translate tuple struct constructorsPatrick Walton-0/+6
2012-10-15rustc: Merge module and type namespaces. r=brsonPatrick Walton-1/+1
2012-10-12remove ctor from ast (take 2) (no review: just dead code removal)Niko Matsakis-12/+1
2012-10-12Use the Nth impl when translating a static method call, insteadNiko Matsakis-1/+1
of the 0th. 0th is only correct when there are no bound tps on the trait. Fixes #3741.
2012-10-11Remove comment that is now falseTim Chevalier-1/+0
2012-10-08Revert "Revert "Remove old auto_serialize2 code (needs snapshot)""Tim Chevalier-2/+0
This reverts commit a33535e441dc5461fec0489069a1491367ad1c91.
2012-10-08Revert "Remove old auto_serialize2 code (needs snapshot)"Tim Chevalier-0/+2
This reverts commit 0bd6da8a8c93143325cb45e8a074ccf7121ca168.
2012-10-07Remove old auto_serialize2 code (needs snapshot)Erick Tryzelaar-2/+0
2012-10-07Remove the old serializers (needs snapshot)Erick Tryzelaar-0/+2
2012-10-07migrate libsyntax/rustc to auto_serialize2Erick Tryzelaar-1/+2
2012-10-02libstd: Switch off legacy modes in both core and std.Patrick Walton-1/+1
2012-09-28demode vecNiko Matsakis-2/+2
2012-09-26Remove spurious by-ref argument to destructorsTim Chevalier-4/+2
Destructors were internally declared with an extra (hidden) nil-typed argument that was passed in by-ref mode. This was causing spurious mode warnings. Deleted it. Also some misc. cleanup because I couldn't help myself.