summary refs log tree commit diff
path: root/src/libsyntax/ext
AgeCommit message (Collapse)AuthorLines
2013-07-17libsyntax: Remove some multi-gigabyte clones that were preventing ↵Patrick Walton-6/+6
bootstrapping on Windows.
2013-07-17librustc: Remove all uses of the `Copy` bound.Patrick Walton-3/+3
2013-07-17librustc: Remove `copy` expressions from the language.Patrick Walton-4/+0
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-81/+104
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-33/+30
2013-07-17Made ast::blk not use spanned<T> anymore.Michael Woerister-16/+15
2013-07-17Clean-up tests after debug!/std-macros change.Huon Wilson-1/+2
The entire testsuite is converted to using info! rather than debug! because some depend on the code within the debug! being trans'd.
2013-07-16syntax: make a macros-injection pass; conditionally define debug! to a noop ↵Huon Wilson-42/+59
based on cfg(debug). Macros can be conditionally defined because stripping occurs before macro expansion, but, the built-in macros were only added as part of the actual expansion process and so couldn't be stripped to have definitions conditional on cfg flags. debug! is defined conditionally in terms of the debug config, expanding to nothing unless the --cfg debug flag is passed (to be precise it expands to `if false { normal_debug!(...) }` so that they are still type checked, and to avoid unused variable lints).
2013-07-14Make TLS keys actually take up spaceAlex Crichton-2/+6
If the TLS key is 0-sized, then the linux linker is apparently smart enough to put everything at the same pointer. OSX on the other hand, will reserve some space for all of them. To get around this, the TLS key now actuall consumes space to ensure that it gets a unique pointer
2013-07-14Purge the last remnants of the old TLS apiAlex Crichton-6/+6
Closes #3273
2013-07-14Clean up various warnings throughout the codebaseAlex Crichton-1/+2
2013-07-13Rename print!()/println!() to printf!()/printfln!()Kevin Ballard-8/+14
The new names make it obvious that these generate formatted output. Add a one-argument case that uses %? to format, just like the other format-using macros (e.g. info!()).
2013-07-13Add print! and println! macros. Closes #7653.Birunthan Mohanathas-0/+12
2013-07-12auto merge of #7736 : thestinger/rust/doc, r=thestingerbors-16/+7
2b96408 r=sanxiyn documents conversion, size hints and double-ended iterators and adds more of the traits to the prelude
2013-07-12Remove the global 'vec::to_owned' functionAlex Crichton-16/+7
2013-07-10Change the assert_eq message to be more verbose.Corey Richardson-1/+2
Closes #6221
2013-07-08Correct merge errorsNiko Matsakis-5/+5
2013-07-08syntax: Patch up code that was using irrefutable patterns incorrectlyNiko Matsakis-12/+20
2013-07-07remove some method resolve workaroundsDaniel Micay-1/+1
2013-07-07De-share ast::TyJames Miller-78/+77
2013-07-07De-manage OptVec<TyParamBounds>James Miller-33/+27
2013-07-07De-share trait_refJames Miller-5/+5
Also, makes the pretty-printer use & instead of @ as much as possible, which will help with later changes, though in the interim has produced some... interesting constructs.
2013-07-07De-manage LifetimeJames Miller-10/+9
2013-07-07De-managed ast::PathJames Miller-49/+49
2013-07-07Stop allocating view_items with @James Miller-11/+11
2013-07-05Do not rely on newtype enum dereferenceSeo Sanghyeon-26/+23
2013-07-04Implement consuming iterators for ~[], remove vec::{consume, ↵Huon Wilson-2/+1
consume_reverse, map_consume}.
2013-07-01rustc: add a lint to enforce uppercase statics.Huon Wilson-0/+2
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-23/+20
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-29Remove mutability from unique boxes in the ASTAlex Crichton-1/+1
2013-06-29'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep ↵Ben Blum-5/+11
for making them noncopyable.
2013-06-28librustc: Fix merge fallout.Patrick Walton-1/+1
2013-06-28librustc: Remove the broken overloaded assign-ops from the language.Patrick Walton-30/+30
They evaluated the receiver twice. They should be added back with `AddAssign`, `SubAssign`, etc., traits.
2013-06-28librustc: Change "Owned" to "Send" everywherePatrick Walton-4/+4
2013-06-27Remove many shared pointersPhilipp Brüschweiler-4/+2
Mostly just low-haning fruit, i.e. function arguments that were @ even though & would work just as well. Reduces librustc.so size by 200k when compiling without -O, by 100k when compiling with -O.
2013-06-26Infer default static/Owned bounds for unbounded heap fns/traits (#7264)Ben Blum-20/+19
2013-06-25auto merge of #7365 : cmr/rust/syntax_cleanup, r=Aatchbors-106/+39
Sets the stage for further cleanup (especially mass-slaughter of `@`)
2013-06-25remove the redundant `each` method from OptVecDaniel Micay-4/+4
2013-06-25great renaming propagation: syntaxCorey Richardson-106/+39
2013-06-24remove old_iterDaniel Micay-2/+2
the `test/run-pass/class-trait-bounded-param.rs` test was xfailed and written in an ancient dialect of Rust so I've just removed it this also removes `to_vec` from DList because it's provided by `std::iter::to_vec` an Iterator implementation is added for OptVec but some transitional internal iterator methods are still left
2013-06-23Parse and typecheck (not kindcheck) bounds on trait paths.Ben Blum-19/+27
2013-06-22auto merge of #7274 : thestinger/rust/size_hint, r=huonwbors-18/+18
I ran into a weird lifetime bug blocking updating the `collect` method to use `FromIterator`, but everything here works fine.
2013-06-23vec: remove BaseIter implementationDaniel Micay-18/+18
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-22auto merge of #7204 : alexcrichton/rust/deriving-to-string, r=pcwaltonbors-11/+64
Closes #7180 and #7179. Before, the `deriving(ToStr)` attribute was essentially `fmt!("%?")`. This changes it to recursively invoke `to_str()` on fields instead of relying on `fmt!`-style things. This seems more natural to me and what should actually be expected.
2013-06-22Fix compiling empty fmt! stringsAlex Crichton-0/+5
2013-06-22Expand the deriving(ToStr) implementationAlex Crichton-11/+64
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-28/+28
The removed test for issue #2611 is well covered by the `std::iterator` module itself. This adds the `count` method to `IteratorUtil` to replace `EqIter`.
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-5/+5
2013-06-16auto merge of #7142 : alexcrichton/rust/deriving-zero, r=pcwaltonbors-0/+98
This allows mass-initialization of large structs without having to specify all the fields. I'm a bit hesitant, but I wanted to get this out there. I don't really like using the `Zero` trait, because it doesn't really make sense for a type like `HashMap` to use `Zero` as the 'blank allocation' trait. In theory there'd be a new trait, but then that's adding cruft to the language which may not necessarily need to be there. I do think that this can be useful, but I only implemented `Zero` on the basic types where I thought it made sense, so it may not be all that usable yet. (opinions?)
2013-06-16remove unused importsHuon Wilson-2/+0