bors
a48ca3290d
auto merge of #7262 : nikomatsakis/rust/ref-bindings-in-irrefut-patterns, 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-08 18:49:46 -07:00
Niko Matsakis
0c6d02f391
Correct merge errors
2013-07-08 13:55:11 -04:00
Niko Matsakis
979d3a54f9
Correct merge failures
2013-07-08 13:55:11 -04:00
Niko Matsakis
50e95ea481
Fix pretty printer, which was ignoring ref
in irrefutable patterns
2013-07-08 13:55:10 -04:00
Niko Matsakis
366a233dbd
syntax: Patch up code that was using irrefutable patterns incorrectly
2013-07-08 13:53:44 -04:00
Brian Anderson
b0a9d8193f
Bump version numbers to 0.8-pre
2013-07-08 10:25:45 -07:00
Daniel Micay
641aec7407
remove some method resolve workarounds
2013-07-07 19:51:13 -04:00
bors
0f2515583d
auto merge of #7615 : Aatch/rust/syntax-deshare, r=graydon
...
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-07 05:22:56 -07:00
James Miller
1fd735d3c1
Fix broken tests
2013-07-07 22:51:10 +12:00
James Miller
47eca2113c
De-share ast::Ty
2013-07-07 22:51:10 +12:00
James Miller
46a1f54666
De-manage OptVec<TyParamBounds>
2013-07-07 22:51:10 +12:00
James Miller
97c5a44d3e
De-share trait_ref
...
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-07 22:51:09 +12:00
James Miller
62c83bb17b
De-manage Lifetime
2013-07-07 22:51:09 +12:00
James Miller
cd1b6c8979
De-managed ast::Path
2013-07-07 22:51:09 +12:00
James Miller
a69eb95233
Stop allocating view_items with @
2013-07-07 22:51:09 +12:00
bors
d91ac39cd5
auto merge of #7585 : Blei/rust/fix-circular-modules, r=huonw
...
Fixes #7276
2013-07-07 03:40:59 -07:00
bors
a9f178c148
auto merge of #7570 : kballard/rust/iterator-size-hint, r=thestinger
...
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-06 14:59:09 -07:00
Kevin Ballard
e6f9b08610
Implement size_hint() on all remaining Iterators
...
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-06 14:14:45 -07:00
Seo Sanghyeon
30fca57f17
Change spans for sugary call expressions
2013-07-05 13:03:25 +09:00
Seo Sanghyeon
2e65782c17
Do not rely on newtype enum dereference
2013-07-05 13:03:04 +09:00
Seo Sanghyeon
c9b9462e8f
Remove visit_struct_method
2013-07-05 13:02:43 +09:00
Philipp Brüschweiler
3c5cfdf2e7
libsyntax: fix infinite loop when recursively including modules
...
Fixes #7276
2013-07-04 19:51:11 +02:00
Huon Wilson
de0d696561
Remove vec::{filter, filtered, filter_map, filter_mapped}, replaced by iterators.
2013-07-04 00:46:49 +10:00
Huon Wilson
eee6775642
Implement consuming iterators for ~[], remove vec::{consume, consume_reverse, map_consume}.
2013-07-04 00:46:49 +10:00
Huon Wilson
c437a16c5d
rustc: add a lint to enforce uppercase statics.
2013-07-01 17:52:57 +10:00
bors
07feeb95c5
auto merge of #7487 : huonw/rust/vec-kill, r=cmr
...
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-30 21:14:13 -07:00
Brian Anderson
a766a955a9
Bump version from 0.7-pre to 0.7
2013-06-30 16:36:48 -07:00
Alex Crichton
8fe6fc11de
Change char::escape_{default,unicode} to take callbacks instead of allocating
...
strings
2013-06-30 09:19:02 -07:00
Huon Wilson
c0a20d2929
Remove vec::{map, mapi, zip_map} and the methods, except for .map, since this
...
is very common, and the replacement (.iter().transform().collect()) is very
ugly.
2013-06-30 21:59:44 +10:00
bors
6fcd8bf567
auto merge of #7468 : cmr/rust/great_renaming, r=pcwalton
2013-06-30 01:19:38 -07:00
Alex Crichton
3bad7129eb
Remove mutability from unique boxes in the AST
2013-06-29 08:36:25 -07:00
Corey Richardson
71b1c6ab60
Warning cleanup
2013-06-29 11:20:04 -04:00
Ben Blum
ff4ab9e147
'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep for making them noncopyable.
2013-06-29 04:39:34 -04:00
Ben Blum
75b80bad63
Use more deriving(IterBytes) in libsyntax.
2013-06-29 03:58:50 -04:00
Ben Blum
5784c0912f
Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.
2013-06-29 03:58:50 -04:00
Patrick Walton
bb830558d1
librustc: Fix merge fallout and test cases.
2013-06-28 10:44:17 -04:00
Patrick Walton
89eb995195
librustc: Fix merge fallout.
2013-06-28 10:44:16 -04:00
Patrick Walton
03ab6351cc
librustc: Rewrite reachability and forbid duplicate methods in type implementations.
...
This should allow fewer symbols to be exported.
2013-06-28 10:44:16 -04:00
Patrick Walton
a1531ed946
librustc: Remove the broken overloaded assign-ops from the language.
...
They evaluated the receiver twice. They should be added back with
`AddAssign`, `SubAssign`, etc., traits.
2013-06-28 10:44:16 -04:00
Patrick Walton
3fcd4dca30
libsyntax: Remove "copy" pattern bindings from the language
2013-06-28 10:44:16 -04:00
Patrick Walton
90ad444287
libsyntax: Fix merge fallout
2013-06-28 10:44:15 -04:00
Patrick Walton
f9b54541ee
librustc: Disallow "mut" from distributing over bindings.
...
This is the backwards-incompatible part of per-binding-site "mut".
2013-06-28 10:44:15 -04:00
Patrick Walton
1c0aa78481
librustc: Change "Owned" to "Send" everywhere
2013-06-28 10:44:15 -04:00
Patrick Walton
1eec3bba13
librustc: Rename Const to Freeze
2013-06-28 10:44:15 -04:00
bors
63afb8ccc8
auto merge of #7430 : huonw/rust/vec-kill, r=thestinger
2013-06-27 15:01:58 -07:00
Philipp Brüschweiler
7295a6da92
Remove many shared pointers
...
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-27 15:06:19 +02:00
Huon Wilson
d0512b1055
Convert vec::[mut_]slice to methods, remove vec::const_slice.
2013-06-27 22:36:09 +10:00
bors
a28f9ba526
auto merge of #7361 : brson/rust/incoming, r=brson
2013-06-27 01:04:33 -07:00
bors
f1e09d6f1f
auto merge of #7420 : mozilla/rust/rollup, r=thestinger
2013-06-26 23:07:41 -07:00
Ben Blum
21aeb0f6cf
Fix pretty-printing for bounded closures. Close #7333 .
2013-06-26 18:14:43 -04:00