about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2013-07-08auto merge of #7262 : nikomatsakis/rust/ref-bindings-in-irrefut-patterns, ↵bors-51/+49
r=catamorphism Correct treatment of irrefutable patterns. The old code was wrong in many, many ways. `ref` bindings didn't work, it sometimes copied when it should have moved, the borrow checker didn't even look at such patterns at all, we weren't consistent about preventing values with destructors from being pulled apart, etc. Fixes #3224. Fixes #3225. Fixes #3255. Fixes #6225. Fixes #6386. r? @catamorphism
2013-07-08Correct merge errorsNiko Matsakis-7/+7
2013-07-08Correct merge failuresNiko Matsakis-1/+6
2013-07-08Fix pretty printer, which was ignoring `ref` in irrefutable patternsNiko Matsakis-38/+23
2013-07-08syntax: Patch up code that was using irrefutable patterns incorrectlyNiko Matsakis-12/+20
2013-07-08Bump version numbers to 0.8-preBrian Anderson-1/+1
2013-07-07remove some method resolve workaroundsDaniel Micay-3/+3
2013-07-07auto merge of #7615 : Aatch/rust/syntax-deshare, r=graydonbors-526/+532
In an ideal world, the AST would be completely sendable, this gets us a step closer. It removes the local heap allocations for `view_item`, `Path`, `Lifetime` `trait_ref` `OptVec<TyParamBounds>` and `Ty`. There are also a few other smaller changes I made as things went along.
2013-07-07Fix broken testsJames Miller-9/+9
2013-07-07De-share ast::TyJames Miller-182/+181
2013-07-07De-manage OptVec<TyParamBounds>James Miller-47/+49
2013-07-07De-share trait_refJames Miller-97/+96
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-35/+34
2013-07-07De-managed ast::PathJames Miller-140/+148
2013-07-07Stop allocating view_items with @James Miller-38/+37
2013-07-07auto merge of #7585 : Blei/rust/fix-circular-modules, r=huonwbors-2/+23
Fixes #7276
2013-07-06auto merge of #7570 : kballard/rust/iterator-size-hint, r=thestingerbors-0/+8
Change the signature of Iterator.size_hint() to always have a lower bound. Implement .size_hint() on all remaining iterators (if it differs from the default).
2013-07-06Implement size_hint() on all remaining IteratorsKevin Ballard-0/+8
Add size_hint() to the Iterators in libextra and the Iterator in libsyntax. Skip deque for the moment, as it's being worked on elsewhere.
2013-07-05Change spans for sugary call expressionsSeo Sanghyeon-9/+8
2013-07-05Do not rely on newtype enum dereferenceSeo Sanghyeon-33/+25
2013-07-05Remove visit_struct_methodSeo Sanghyeon-12/+0
2013-07-04libsyntax: fix infinite loop when recursively including modulesPhilipp Brüschweiler-2/+23
Fixes #7276
2013-07-04Remove vec::{filter, filtered, filter_map, filter_mapped}, replaced by ↵Huon Wilson-15/+6
iterators.
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-4/+7
2013-06-30auto merge of #7487 : huonw/rust/vec-kill, r=cmrbors-31/+27
Continuation of #7430. I haven't removed the `map` method, since the replacement `v.iter().transform(f).collect::<~[SomeType]>()` is a little ridiculous at the moment.
2013-06-30Bump version from 0.7-pre to 0.7Brian Anderson-1/+1
2013-06-30Change char::escape_{default,unicode} to take callbacks instead of allocatingAlex Crichton-4/+12
strings
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-31/+27
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-30auto merge of #7468 : cmr/rust/great_renaming, r=pcwaltonbors-8/+0
2013-06-29Remove mutability from unique boxes in the ASTAlex Crichton-11/+13
2013-06-29Warning cleanupCorey Richardson-8/+0
2013-06-29'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep ↵Ben Blum-10/+16
for making them noncopyable.
2013-06-29Use more deriving(IterBytes) in libsyntax.Ben Blum-242/+93
2013-06-29Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.Ben Blum-2/+2
2013-06-28librustc: Fix merge fallout and test cases.Patrick Walton-1/+1
2013-06-28librustc: Fix merge fallout.Patrick Walton-2/+2
2013-06-28librustc: Rewrite reachability and forbid duplicate methods in type ↵Patrick Walton-254/+273
implementations. This should allow fewer symbols to be exported.
2013-06-28librustc: Remove the broken overloaded assign-ops from the language.Patrick Walton-66/+79
They evaluated the receiver twice. They should be added back with `AddAssign`, `SubAssign`, etc., traits.
2013-06-28libsyntax: Remove "copy" pattern bindings from the languagePatrick Walton-2/+7
2013-06-28libsyntax: Fix merge falloutPatrick Walton-2/+4
2013-06-28librustc: Disallow "mut" from distributing over bindings.Patrick Walton-2/+29
This is the backwards-incompatible part of per-binding-site "mut".
2013-06-28librustc: Change "Owned" to "Send" everywherePatrick Walton-5/+5
2013-06-28librustc: Rename Const to FreezePatrick Walton-3/+3
2013-06-27auto merge of #7430 : huonw/rust/vec-kill, r=thestingerbors-2/+1
2013-06-27Remove many shared pointersPhilipp Brüschweiler-22/+20
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-27Convert vec::[mut_]slice to methods, remove vec::const_slice.Huon Wilson-2/+1
2013-06-27auto merge of #7361 : brson/rust/incoming, r=brsonbors-13/+14
2013-06-26auto merge of #7420 : mozilla/rust/rollup, r=thestingerbors-13/+13
2013-06-26Fix pretty-printing for bounded closures. Close #7333.Ben Blum-6/+11