about summary refs log tree commit diff
path: root/src/libsyntax/ast_map.rs
AgeCommit message (Collapse)AuthorLines
2013-01-30librustc: Remove legacy exports from the language. r=brsonPatrick Walton-24/+0
2013-01-29libsyntax: De-export a lot of libsyntax. rs=deëxportingPatrick Walton-33/+33
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-24syntax/rustc: Less copyTim Chevalier-3/+3
2013-01-22syntax/rustc: Make some metadata-related functions take slices, kill bad copiesTim Chevalier-4/+4
Too small to review.
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-11/+19
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-14convert ast::struct_dtor_ into a structErick Tryzelaar-2/+6
2013-01-10librustc: Implement a #[no_mangle] attribute to suppress name mangling. r=brsonPatrick Walton-0/+7
This is very helpful for SDL, as SDL wants you to define a function named `SDL_main`.
2013-01-09A collection of refactorings that I found it hard/tiresome to divide:Niko Matsakis-1/+1
- 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-09syntax: convert ast::spanned into a structErick Tryzelaar-6/+9
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+2
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-2/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+2
module scope. r=tjc
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-3/+14
contain at least two components. r=graydon
2012-12-10Remove un-needed code for obsolete classesTim Chevalier-18/+6
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-07Remove impl_id from trait_ref. UnusedBrian Anderson-6/+0
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-9/+9
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/+10
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-28Register snapshotsBrian Anderson-23/+0
2012-11-19rustc: Implement explicit self for Eq and Ord. r=graydonPatrick Walton-0/+23
2012-11-14librustc: Require the #[derivable] attribute, remove the significance of ↵Patrick Walton-5/+3
"impl Foo : Bar;", and allow only a subset of methods in a trait to be derived. r=brson
2012-11-13librustc: Implement deriving with a unit return type. r=tjcPatrick Walton-2/+1
2012-10-26rustc: Translate monomorphic intra-crate automatically-derived methods that ↵Patrick Walton-1/+1
follow the "eq" format
2012-10-25rustc: Translate tuple struct constructorsPatrick Walton-0/+17
2012-10-23rustc: Implement typechecking for simple monomorphic derivable traits on ↵Patrick Walton-4/+6
monomorphic types. r=brson
2012-10-12remove ctor from ast (take 2) (no review: just dead code removal)Niko Matsakis-19/+1
2012-10-08Revert "remove ctor from ast"Tim Chevalier-1/+19
This reverts commit ed3689d57c988e1dd477930d957c4308c37d1a64.
2012-10-08remove ctor from astNiko Matsakis-19/+1
2012-09-28demode vecNiko Matsakis-1/+1
2012-09-26Demode vec::push (and convert to method)Niko Matsakis-2/+2
2012-09-26turn ast::ident into a structErick Tryzelaar-4/+4
This will help with the auto_serialize2 migration. We have to change ident from a type alias to uint into a unique type. We need to use a struct instead of a "enum ident = token::str_num" because structs support constants, but newtypes do not.
2012-09-23Register snapshots. Remove redundant Eq impls, Makefile hacksBrian Anderson-22/+0
2012-09-21De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachiNiko Matsakis-1/+1
2012-09-20rustc: De-mode all overloaded operatorsPatrick Walton-0/+22
2012-09-19demode the each() method on vec and other iterables.Niko Matsakis-7/+7
2012-09-19Remove redundant hashmap constructor functions.Graydon Hoare-1/+1
2012-09-19De-mode vec::each() and many of the str iteration routinesNiko Matsakis-2/+4
Note that the method foo.each() is not de-moded, nor the other vec routines.
2012-09-18Revert "replace explicit calls to vec::each with vec::each_ref, partially ↵Niko Matsakis-4/+2
demode str" This reverts commit 1be24f0758d3075d2e7f141f8831bb8a233ce86e. Not quite ready.
2012-09-18replace explicit calls to vec::each with vec::each_ref, partially demode strNiko Matsakis-2/+4
2012-09-10Convert std::map to camel caseBrian Anderson-2/+2
2012-09-07rustc: Add an "ne" method to the Eq trait, and implement it everywherePatrick Walton-0/+1
2012-09-04Allow anonymous extern modsTim Chevalier-1/+8
Now you can write: extern { f() -> int; } and f will be accessible in the enclosing scope.
2012-09-04Remove 'with'Brian Anderson-2/+2
2012-09-04libsyntax: "import" -> "use"Patrick Walton-7/+7
2012-08-31rustc: Implement "use mod"Patrick Walton-1/+1
2012-08-29rustc: Make `<` and `=` into traitsPatrick Walton-1/+24
2012-08-27rustc: more pattern cleanupErick Tryzelaar-4/+4
2012-08-26Camel case the option typeBrian Anderson-14/+14
2012-08-24fix some unused pattern binding warningsNiko Matsakis-1/+1