Tim Chevalier
f2d9d0ba41
Make all remaining moves explicit in libcore
2012-09-10 16:31:39 -07:00
Brian Anderson
93d3b8aa6b
Convert class methods to impl methods. Stop parsing class methods
2012-09-10 16:13:08 -07:00
Tim Chevalier
1a33c25d6f
Make moves explicit in pipes and pipe compiler
2012-09-10 15:15:10 -07:00
Tim Chevalier
a07ea73bdb
Make moves explicit in task; also make option::unwrap take its argument by move
2012-09-10 13:36:54 -07:00
Patrick Walton
22b8757705
rustc: Make shape-based compare glue never called for comparison operators.
...
Only called for string patterns.
2012-09-10 12:48:42 -07:00
Tim Chevalier
e666fe89dd
Make more moves explicit in libcore
2012-09-10 12:38:52 -07:00
Tim Chevalier
c104745255
Make moves explicit in vec
...
I'm continuing to make moves explicit, despite #3413 , because that
seems like the most reliable way to make these changes. Once I've made
all the moves explicit, the test for #3413 will be that I can remove them.
2012-09-10 11:15:36 -07:00
Jed Davis
4ea45669b8
Add vec::dedup for in-place consecutive duplicate element removal.
2012-09-10 00:42:58 -07:00
Brian Anderson
f53c2948aa
Rename variables that clash with keywords
2012-09-09 16:53:19 -07:00
Brian Anderson
a026e9a5cd
core: warn(non_camel_case_types) -> deny
2012-09-09 14:51:56 -07:00
Jeff Olson
2508c24276
core: fix separator for Future<A> property
2012-09-08 14:22:16 -07:00
Jeff Olson
12439b0b24
core: missed rebase cruft cleanup
2012-09-08 14:22:16 -07:00
Jeff Olson
3e58158375
core: most rebase cruft cleanup
2012-09-08 14:22:16 -07:00
Jeff Olson
6d84d86736
core: change FutureState Forced(A) to Forced(~A)
2012-09-08 14:22:16 -07:00
Jeff Olson
2ed00ff928
core: change notify_chan eq checks to is_none(), instead
2012-09-08 14:22:16 -07:00
Jeff Olson
02ddbadc10
core: patch from nmatsakis to make futures non-copyable
2012-09-08 14:22:15 -07:00
Jeff Olson
27129c6aba
core/std: finish making futures sendable + test.. still issues
2012-09-08 14:22:15 -07:00
Jeff Olson
6bdda1e0de
core/std: an unending parade of minor tweaks due to renaming Option et al
2012-09-08 14:22:15 -07:00
Jeff Olson
2f32c0d5c3
core: cleanup in task.rs for things missed in last rebase
2012-09-08 14:22:15 -07:00
Jeff Olson
d41af3e002
core: fix breakage in TaskBuilder.future_result
...
the actual "fix" in this change is the chunk that moves
`let x = self.consume()` to after the option dance that results in
the `notify_chan` in TaskBuilder.try()
the rest is cleanup/sense-making of what some of this code is doing (I'm
looking at you, future_result)
2012-09-08 14:22:15 -07:00
Jeff Olson
a8fc771f20
core: changing pipes::port/chan_one to Port/ChanOne in unsafe.rs
2012-09-08 14:22:15 -07:00
Brian Anderson
70e5a19ebf
core: Fix stage0 build errors
2012-09-08 14:22:15 -07:00
Jeff Olson
63e25946f0
core: port task.rs to comm::Chan/Port to pipes::Chan/Port
2012-09-08 14:22:15 -07:00
Brian Anderson
3bd1f32cd9
Convert all kind bounds to camel case. Remove send, owned keywords.
2012-09-07 18:10:11 -07:00
Brian Anderson
2810ea9a68
Convert 'again' to 'loop'. Remove 'again' keyword
2012-09-07 17:39:03 -07:00
Graydon Hoare
5d823d46ad
Migrate std::map to use core: #️⃣ :Hash trait. Disable many hokey hashes.
2012-09-07 17:24:16 -07:00
Graydon Hoare
e9f5a099df
Add an ignore! macro, remove support for nested block comments, re: #2755 .
2012-09-07 16:58:36 -07:00
Brian Anderson
f0eae8f1c1
Convert field terminators to commas. Stop parsing semis.
2012-09-07 16:12:15 -07:00
Patrick Walton
3078830934
libcore: Make str_eq not break with coretest
2012-09-07 16:09:38 -07:00
Patrick Walton
1fcfee674a
rustc: Add a str_eq lang item for pattern matching
2012-09-07 15:46:08 -07:00
Brian Anderson
2572e80355
Remove 'let' syntax for struct fields
2012-09-07 14:02:33 -07:00
Patrick Walton
feb014eb3c
rustc: Add an "ne" method to the Eq trait, and implement it everywhere
2012-09-07 12:24:48 -07:00
Elliott Slaughter
cb53623341
gc: Add early abort when GC is disabled.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
244b95490b
gc: Refactoring.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
d22b7ca39a
gc: Documentation.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
961bd48724
gc: Fix for GC missing stack frames across segment boundaries.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
578b036f9b
gc: Don't expect sentinel when core is compiled without GC.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
7823ad8586
gc: Avoid walking stack above caller frame.
...
Mark the base GC stack frame with a sentinel value so we know when to
start collecting.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
88f5ab3163
gc: Fix for deallocating resources on the shared heap while cleaning stack.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
3405c548e8
gc: Avoid freeing null pointers.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
9ea4afe5da
gc: Avoid double free when pointer appears on stack multiple times.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
3f0d207b32
gc: Add stack walker for new garbage collector.
...
Safe points are exported in a per-module list via the crate map. A C
runtime call walks the crate map at startup and aggregates the list of
safe points for the program.
Currently the GC doesn't actually deallocate memory on malloc and
free. Adding the GC at this stage is primarily of testing value.
The GC does attempt to clean up exchange heap and stack-allocated
resource on failure.
A result of this patch is that the user now needs to be careful about
what code they write in destructors, because the GC and/or failure
cleanup may need to call destructors. Specifically, calls to malloc
are considered unsafe and may result in infinite loops or segfaults.
2012-09-07 09:21:21 -07:00
Niko Matsakis
5e36a99794
Refactor trans to replace lvalue and friends with Datum.
...
Also:
- report illegal move/ref combos whether or not ref comes first
- commented out fix for #3387 , too restrictive and causes an ICE
2012-09-06 06:11:12 -07:00
Patrick Walton
adc1427282
libcore: Expose glues to core
2012-09-05 21:10:22 -07:00
Patrick Walton
f6d50d866a
libcore: Make to_upper() and to_lower() pure
2012-09-05 20:55:28 -07:00
Tim Chevalier
2d116cbbed
Start making moves explicit in libcore
...
This is in preparation for issue 2633. Replaced implicit moves that
rely on last-use with explicit moves in char, float, and str.
2012-09-05 19:20:01 -07:00
Graydon Hoare
0ddae5ec7d
Add str::trim{_,_left_,_right_}chars.
2012-09-05 16:53:55 -07:00
Brian Anderson
200959d7ce
Remove 'with'
2012-09-04 15:47:04 -07:00
Brian Anderson
02b1c32e4d
core: Remove struct ctors
2012-09-04 15:46:33 -07:00
Patrick Walton
8415515cbe
libcore: Make as_bytes_slice() not include the null byte
2012-09-04 15:23:30 -07:00