Huon Wilson
9e83b2fe55
Convert vec::{reverse, swap} to methods.
2013-06-30 21:15:25 +10:00
Huon Wilson
a890c2cbf1
Convert vec::{rposition, rposition_elem, position_elem, contains} to methods.
2013-06-30 21:15:24 +10:00
bors
0326b0abed
auto merge of #7441 : catamorphism/rust/testcases_2013-06-27, r=catamorphism
2013-06-29 06:19:46 -07:00
bors
132cfcdd88
auto merge of #7363 : bblum/rust/soundness, r=nikomatsakis
...
The commit f9a5453 is meant to be a temporary hold-over. Whether or not there is added a way for the compiler to "implicitly borrow" stack closures in this way, there should be a codegen optimization that prevents having to traverse possibly-very-many function pointers to find the function you ultimately wanted to call. I tried to separate out the changes so this particular commit could be straight-up reverted if auto-borrowing happens in the future.
r? @nikomatsakis
2013-06-29 04:22:53 -07:00
bors
c80e3bac3e
auto merge of #7244 : bblum/rust/once, r=nikomatsakis
...
@graydon suggested that once closures not be part of the language for 1.0, but that they might be hidden behind a -Z compile flag as an "experimental feature" in case people decide they need them.
Regardless of whether ```-Z once-fns``` is set, this PR will parse the ```once``` keyword and will prevent closures labelled with it from being called more than once. It will also permit moving out of captured vars in heap closures, just to let the runtime writers stop using ```Cell``` sooner. Setting ```-Z once-fns``` only toggles whether the move-out-from-capture privilege is also given for stack closures.
r? @nikomatsakis
2013-06-29 02:34:43 -07:00
Ben Blum
d7544fe987
Add two tests for the case of the recurring closure.
2013-06-29 04:39:38 -04:00
Ben Blum
d4722e5333
Trade stack closure copyability for type soundness.
2013-06-29 04:39:37 -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
e0788c7f52
xfail-fast once fn run-pass tests
2013-06-29 03:54:09 -04:00
bors
4e78c1e2a8
auto merge of #7479 : mozilla/rust/rollup, r=thestinger
...
22b7eb3 r=thestinger
28a3613 r=cmr
a0c31ec r=bstrie
ee7307e r=thestinger
b9cf6a3 r=thestinger
2013-06-28 22:25:48 -07:00
blake2-ppc
b9cf6a33d2
iterator: UnfoldrIterator::new should have function argument last
...
To match Rust conventions and enable use of `do` etc, make sure the
closure is the last argument to the `new` method.
2013-06-29 01:03:37 -04:00
Brian Anderson
22b7eb3802
Rename #[mutable] to #[no_freeze]
2013-06-29 00:56:36 -04:00
Brian Anderson
4af7ebcd8f
Rename #[non_sendable] to #[no_send]
2013-06-29 00:56:36 -04:00
bors
d681bccb6a
auto merge of #7471 : msullivan/rust/default-methods, r=graydon
...
This fixes a bunch of default method bugs and restructures how vtable resolutions are represented.
(It also adds a depth counter to llvm::type_to_str as a hacky work around for our circular llvm types. This is related in the sense that I needed to do it to make debug tracing not cause rustc to crash after running out of stack space.)
2013-06-28 20:16:56 -07:00
Michael Sullivan
9340fd5ce0
Add tests for some default method things.
2013-06-28 18:09:02 -07:00
bors
e23934645a
auto merge of #7466 : thestinger/rust/passes, r=cmr
2013-06-28 16:49:49 -07:00
Daniel Micay
2bdc88b652
copy the optimization passes from clang
2013-06-28 18:18:09 -04:00
Corey Richardson
8f5cb92f89
Fix threadring
2013-06-28 10:47:59 -04:00
James Miller
fae4a9e5ba
Rename Const/Owned in more places
2013-06-28 10:47:59 -04:00
Patrick Walton
bb830558d1
librustc: Fix merge fallout and test cases.
2013-06-28 10:44:17 -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
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
811e045c60
auto merge of #7426 : thestinger/rust/zero-size-noncopyable, r=catamorphism
...
4885918 r=huonw
42a63fc r=thestinger
7ec5a08 r=catamorphism
fb1e5f1 r=thestinger
659cd55 r=cmr
2013-06-28 05:28:32 -07:00
Birunthan Mohanathas
dcf1dc060a
Rename #[no_drop_flag] to #[unsafe_no_drop_flag]
2013-06-27 23:20:42 -04:00
bors
61dc7760d0
auto merge of #7410 : luqmana/rust/bare-self, r=catamorphism
...
Finally sorted this out. Fixes #5321 , #4439 , and #4850 .
2013-06-27 20:19:38 -07:00
Luqman Aden
0aa94ff3c3
Add test for #5321 .
2013-06-27 21:36:30 -04:00
bors
927f454ac1
auto merge of #7432 : michaelwoerister/rust/WP3, r=jdm
2013-06-27 17:22:42 -07:00
Tim Chevalier
76b910d8cc
testsuite: Add test cases, some xfailed
...
Closes #5060
Closes #4446
Closes #5192
2013-06-27 16:56:47 -07:00
bors
63afb8ccc8
auto merge of #7430 : huonw/rust/vec-kill, r=thestinger
2013-06-27 15:01:58 -07:00
Michael Woerister
2f5e33d02f
debuginfo: Some corrections after review.
2013-06-27 19:28:37 +02:00
Michael Woerister
42dbae7f2a
debuginfo: Formatting cleanup.
2013-06-27 19:28:37 +02:00
Michael Woerister
4fb471ab78
debuginfo: Added test case for function arguments.
2013-06-27 19:28:37 +02:00
Michael Woerister
074e0fa2a9
debuginfo: Added test case for local variables declared with destructuring.
2013-06-27 19:28:37 +02:00
Michael Woerister
9102ad035c
debuginfo: Added more tests for region pointers (tuples, structs).
2013-06-27 19:28:37 +02:00
Michael Woerister
6a3094159f
debuginfo: Fixed some instances of gdb wrongly printing u8/i8 values as chars.
2013-06-27 19:28:37 +02:00
Michael Woerister
fb3e17b93a
debuginfo: Added test cases for region pointers into heap boxes for basic types.
2013-06-27 19:28:37 +02:00
Michael Woerister
751f0fba6f
debuginfo: Added test case for region pointers pointing to stack values with basic type.
2013-06-27 19:28:37 +02:00
Michael Woerister
168eba9201
debuginfo: Added test case for structs with destructor.
2013-06-27 19:28:17 +02:00
Michael Woerister
0b5fef3b26
debuginfo: Added test case for local variable scopes.
2013-06-27 19:28:17 +02:00
Michael Woerister
1dc8e76d3a
debuginfo: Made test cases use correct naming convention for variables.
2013-06-27 19:28:17 +02:00
Michael Woerister
5f97a6e951
debuginfo: Added test cases for tuples contained in structs.
2013-06-27 19:28:17 +02:00
Michael Woerister
36aa04b9ab
debuginfo: Added test cases for tuples.
2013-06-27 19:28:17 +02:00
Michael Woerister
fda193de24
Extended test cases for struct debug information.
...
Added test cases for different kinds of padding (simple-struct.rs)
Added test cases for nested structs (struct-in-struct.rs)
2013-06-27 19:28:17 +02:00
Huon Wilson
32d655916f
Convert vec::{reserve, reserve_at_least, capacity} to methods.
2013-06-28 00:40:47 +10: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