Commit Graph

1145 Commits

Author SHA1 Message Date
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
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::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
Brian Anderson f445497d6b Merge pull request #3383 from crabtw/fbsd
use native log2 function and enable freebsd tests in uv_ll
2012-09-04 12:14:09 -07:00
Andrew Paseltiner 225cdc4894 add test for eq_slice fix 2012-09-04 11:27:11 -07:00
Andrew Paseltiner 21172ee280 fix str::eq_slice off-by-one error 2012-09-04 11:27:11 -07:00
Patrick Walton 437073868e libcore: "import" -> "use" 2012-09-04 11:12:17 -07:00
Jyun-Yan You ff4b754958 use native log2 function and enable freebsd tests in uv_ll 2012-09-05 02:03:56 +08:00
Patrick Walton cd15eac9cf libcore: Add missing from_str.rs 2012-09-03 15:59:37 -07:00