Patrick Walton
c91821d356
libcore: De-export cleanup, cmath, future, gc, hash, iter-trait, mutable, and private
2012-09-26 17:21:09 -07:00
Patrick Walton
c6605168a1
libcore: De-export logging and pipes
2012-09-26 16:46:54 -07:00
Patrick Walton
18bce94a5a
libcore: De-export dvec, rand, run, and sys
2012-09-26 16:04:23 -07:00
Eric Holk
135ebca8aa
Refactoring ReaderUtil trait, combining it with the traitless impl on Reader.
2012-09-26 15:55:42 -07:00
Patrick Walton
f41cf208b7
libcore: De-export box, cast, and dlist
2012-09-26 15:25:17 -07:00
Patrick Walton
e956edeb55
libcore: De-export bool
2012-09-26 14:55:08 -07:00
Niko Matsakis
8b13912a83
Make impl of Add for @[] public
...
It's not clear that impls should have to be public to be used
from outside the crate; in particular, I don't know whether
they have to be public to be used from other modules within
the same crate.
2012-09-26 14:26:09 -07:00
Patrick Walton
264e1b2edb
libcore: De-mode at_vec
2012-09-26 12:29:27 -07:00
Patrick Walton
a7db161eed
Revert "Revert "libcore: De-mode at_vec""
...
This reverts commit fe09451a5a
.
2012-09-26 12:29:27 -07:00
Tim Chevalier
540934980a
Demode some of core::io
2012-09-26 10:42:23 -07:00
Tim Chevalier
e0d5d03451
Demode tuple
2012-09-26 10:41:19 -07:00
Tim Chevalier
e19e628b19
Demode iter-trait
2012-09-25 22:13:05 -07:00
Tim Chevalier
473a866733
Fix long lines
2012-09-25 22:13:05 -07:00
Tim Chevalier
00ffb15aac
Demode pipes::set_buffer
2012-09-25 22:01:05 -07:00
Tim Chevalier
d8ef6bfebf
Comment out at_vec test that fails
2012-09-25 22:00:53 -07:00
Tim Chevalier
fe09451a5a
Revert "libcore: De-mode at_vec"
...
This reverts commit ab6318803e
.
2012-09-25 20:59:14 -07:00
Tim Chevalier
3023bd8729
Demode dvec
2012-09-25 18:27:55 -07:00
Patrick Walton
ab6318803e
libcore: De-mode at_vec
2012-09-25 18:06:26 -07:00
Patrick Walton
cac5a9f916
libcore: De-export core::at_vec
2012-09-25 17:53:23 -07:00
Brian Anderson
d05e2ad66c
Demode core::result
2012-09-25 17:48:22 -07:00
Brian Anderson
62649f0412
Check more things with deprecated_modes
2012-09-25 17:41:29 -07:00
Tim Chevalier
e85a3d8247
Demode Num trait and impls
2012-09-25 15:52:41 -07:00
Patrick Walton
f41c53667e
rustc: Fix calls to the logging function when the must_cast flag is true; stop using shape code for logging
2012-09-25 14:56:17 -07:00
Niko Matsakis
267ab11cca
use + mode for (almost) everything when not using legacy modes
2012-09-25 12:47:35 -07:00
Brian Anderson
37aee97e4b
core: Mark more mods as demoded
2012-09-25 12:18:52 -07:00
Patrick Walton
ee7fa194fa
Revert "rustc: Stop using shape code for logging" due to ICEs
...
This reverts commit ac822a52be
.
2012-09-25 12:17:05 -07:00
Patrick Walton
ac822a52be
rustc: Stop using shape code for logging
2012-09-25 11:44:23 -07:00
Patrick Walton
530540025c
libcore: Fix 32 bit Rust task structure offsets for unwinding
2012-09-24 20:25:51 -07:00
Brian Anderson
afd91f8a56
Register snapshots. Remove redundant Eq impls, Makefile hacks
2012-09-23 23:01:49 -07:00
Brian Anderson
acab1cd2ce
Fix more windows breakage
2012-09-23 19:53:42 -07:00
Brian Anderson
0e14fd6e13
core: Fix some option-demode fallout on windows
2012-09-23 18:32:57 -07:00
Brian Anderson
4a78f9b166
core: Demode option
2012-09-23 17:15:00 -07:00
Brian Anderson
32032491ed
core: Un-legacy-export stackwalk, cmath
2012-09-23 16:42:05 -07:00
Niko Matsakis
ba3eebd41d
Make it illegal to use modes in a fn signature with providing
...
an explicit variable name. (Step one to changing the defaults)
First step to #3535
2012-09-23 13:30:13 -05:00
Niko Matsakis
3d59ac3a19
De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachi
2012-09-21 19:13:55 -07:00
Brian Anderson
298ab6f459
Revert "core: De-export at_vec and extfmt"
...
This reverts commit 6267d8a94a
.
2012-09-21 19:04:06 -07:00
Brian Anderson
6267d8a94a
core: De-export at_vec and extfmt
2012-09-21 18:49:22 -07:00
Patrick Walton
d48396c986
libcore: De-mode str
2012-09-21 18:37:06 -07:00
Graydon Hoare
dffe188991
Install new pub/priv/export rules as defaults, old rules accessible under #[legacy_exports];
2012-09-21 18:11:43 -07:00
Brian Anderson
19ad88c2b8
core: Mark gc and stackwalk as demoded
2012-09-20 17:29:20 -07:00
Brian Anderson
ee426f177b
core: Mark three more trivial mods as demoded
2012-09-20 17:18:18 -07:00
Brian Anderson
e14a0eec23
core: Indicate that flate is demoded
2012-09-20 16:40:18 -07:00
Brian Anderson
3e9284d128
core: Demode sys
2012-09-20 15:37:55 -07:00
Brian Anderson
3480986408
core: Minor doc tweakage
2012-09-20 15:33:52 -07:00
Patrick Walton
5558ebb6b7
libcore: Fix level-of-indirection problem in str::buf_as_slice
2012-09-20 15:05:20 -07:00
Brian Anderson
7abf55736c
core: Move 'unreachable' to util. Improve docs
2012-09-20 14:27:37 -07:00
Niko Matsakis
1983e3d8d7
Make + mode by-value if the type is immediate, by-ref otherwise
...
Fixes #3523
2012-09-20 14:04:38 -07:00
Patrick Walton
69aaa410ca
rustc: Fix buf_as_slice export
2012-09-20 12:26:40 -07:00
Patrick Walton
5cd9d4d9dd
libcore: Make BytesWriters not require shared boxes.
2012-09-20 11:18:22 -07:00
Patrick Walton
9117dcb968
rustc: De-mode all overloaded operators
2012-09-20 09:48:05 -07:00
Brian Anderson
acc3ec7d6c
core: Hide the docs for the private TaskBuilder impl
2012-09-19 19:08:32 -07:00
Brian Anderson
4f5bff993b
core: Decompose task into more submodules
2012-09-19 19:08:32 -07:00
Brian Anderson
591c152dfc
core: Cleanup task_local docs
2012-09-19 19:08:32 -07:00
Brian Anderson
f996b3ae81
core: Split local_data into local_data/local_data_priv
2012-09-19 19:08:32 -07:00
Brian Anderson
1397dca2dd
core: Move TLS to task::local_data
2012-09-19 19:08:32 -07:00
Brian Anderson
7bf0aa1c43
core: More doc cleanup
2012-09-19 17:17:19 -07:00
Niko Matsakis
cfed923600
demode the each() method on vec and other iterables.
2012-09-19 17:03:01 -07:00
Brian Anderson
c115b82238
core: Clean up crate docs and give all mods a brief description
2012-09-19 16:52:59 -07:00
Graydon Hoare
5e41739562
Remove final bits of residual hokey-hash functions. Close #1616 .
2012-09-19 16:35:53 -07:00
Philipp Brüschweiler
d3e0a06578
V2: now with more locks!
2012-09-19 14:01:53 -07:00
Philipp Brüschweiler
68e755b1c2
core: Allocate threads on demand, not on scheduler startup
...
API change: rust_kernel::create_scheduler() or
rust_scheduler::rust_scheduler() respecitevly now take ownership of the
launch factory argument, it is needed to create new threads on demand.
Also renames rustrt::sched_threads() to rustrt::rust_sched_threads() for
consistency. Added rustrt::rust_max_sched_threads() to return the
maximal number of scheduled threads of the current scheduler.
Fixes #3493 .
2012-09-19 14:01:53 -07:00
Graydon Hoare
3cb0fcb803
De-export core::comm
2012-09-19 12:05:32 -07:00
Brian Anderson
0e3daa45e2
Export the correct raw module from core::at_vec
2012-09-19 11:44:04 -07:00
Niko Matsakis
9cf271fe96
De-mode vec::each() and many of the str iteration routines
...
Note that the method foo.each() is not de-moded, nor the other
vec routines.
2012-09-19 10:52:59 -07:00
Erick Tryzelaar
da568baea9
libcore: unsafe mod renamed to cast
2012-09-19 08:26:53 -07:00
Niko Matsakis
8d4928f780
Revert "replace explicit calls to vec::each with vec::each_ref, partially demode str"
...
This reverts commit 1be24f0758
.
Not quite ready.
2012-09-18 21:41:13 -07:00
Niko Matsakis
1be24f0758
replace explicit calls to vec::each with vec::each_ref, partially demode str
2012-09-18 21:31:00 -07:00
Brian Anderson
2906f2de31
core: Rename 'unsafe' mod to 'cast'
2012-09-18 19:36:25 -07:00
Patrick Walton
e653d493fb
rustc: Remove legacy mode inference, unless #[legacy_modes] is used
2012-09-18 15:53:04 -07:00
Brian Anderson
d53cfd225a
core: Move Exclusive and SharedMutableState to the private mod
2012-09-18 15:23:57 -07:00
Gareth Daniel Smith
5d925b212e
Make vec::view a method too.
2012-09-18 21:46:53 +01:00
Erick Tryzelaar
e3f5403052
libcore: str::unsafe::from_buf_len_nocopy => form_slice
2012-09-18 12:56:57 -07:00
Erick Tryzelaar
d0d68c6036
libcore: make a copyless io::BytesWriter
2012-09-18 12:56:57 -07:00
Patrick Walton
c755449fd6
Revert "rustc: Change all non-keyword uses of "link""
...
This reverts commit 3b013cd800
.
2012-09-18 11:47:04 -07:00
Brian Anderson
2cdb23bbc0
Replace uses of 'unchecked' with 'unsafe'
2012-09-18 11:31:57 -07:00
Niko Matsakis
efa6675f1d
make filetype() include the "." ( fixes #3412 )
2012-09-18 11:29:53 -07:00
Patrick Walton
3b013cd800
rustc: Change all non-keyword uses of "link"
2012-09-18 11:27:37 -07:00
Brian Anderson
5c18bf6cdd
core: Rename at_vec::unsafe to raw
2012-09-18 11:19:17 -07:00
Patrick Walton
409bc6fc2c
libcore: Fix cleanup for i386
2012-09-17 12:01:24 -07:00
Niko Matsakis
48496fc1b6
add a test and correct terminology
...
newtype'd enums have 1 variant, and 1 field.
denegerate have only 1 variant but may have more fields.
2012-09-17 06:34:36 -07:00
Patrick Walton
be162da961
libcore: Log newtyped enums correctly. Closes #3506 .
2012-09-16 09:28:21 -07:00
Erick Tryzelaar
d0d84348ef
Make most send_map functions pure
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
1834249e8d
libcore: add find_ref/get_ref to SendMap trait
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
10e317de54
vec::u8 => vec::bytes ( #3444 )
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
8dc9e6643a
io::Reader::chars_from_buf => chars_from_bytes ( #3444 )
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
b73f801cc1
int/uint parse_buf => parse_bytes ( #3444 )
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
651e63cc5c
libcore: rename *flate_buf to *flate_bytes ( #3444 )
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
f1f5739256
libcore: fix whitespace in str test
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
8cf09305a7
libcore: send_map test simplification.
2012-09-15 13:38:41 -07:00
Patrick Walton
73e8ce1e1f
rustc: Back out box annihilator
2012-09-14 19:59:07 -07:00
Graydon Hoare
aa2ab2659f
Add core::reflect, start migrating core::repr to use it. Tidy up various Repr types.
2012-09-14 19:09:38 -07:00
Patrick Walton
1c5db46f8e
rustc: Call the box annihilator in main
2012-09-14 18:05:15 -07:00
Patrick Walton
24c89693f0
libcore: Remove the annihilation tests; there's no easy way to make them work.
...
This should hopefully put out the burning tree.
2012-09-14 16:58:23 -07:00
Patrick Walton
ce773352d0
rustc: Make the box annihilator a language item
2012-09-14 16:50:12 -07:00
Patrick Walton
bc96ea2a18
libcore: Implement a box annihilator, not called yet
2012-09-14 16:13:13 -07:00
Niko Matsakis
34cece99cc
replace with_find_ref() with find_ref(), which is just nicer to use
2012-09-14 15:22:15 -07:00
Patrick Walton
bbfc6f8945
libcore: Make enum logging significantly less clownshoes.
...
Fixes the log-knows-the-names* tests.
2012-09-14 11:22:17 -07:00
Graydon Hoare
127c0d40ac
Teach path to collapse double-slashes in components. Close #3430 .
2012-09-13 19:53:30 -07:00
Graydon Hoare
c5347b4bf9
Fix implicit-instantiation of non-implicitly-copyable warnings.
2012-09-13 19:53:30 -07:00
Graydon Hoare
989536083d
Fix stray vec::as_buf, try to put out fire on win32.
2012-09-13 16:16:15 -07:00
Graydon Hoare
ccd4a0e362
Doc fix, close #3419
2012-09-13 16:10:21 -07:00
Brian Anderson
8a8ca1863d
Fix broken test in core::task
2012-09-13 15:06:40 -07:00
Brian Anderson
a544b83788
core: Fix stray usage of vec::unsafe on FreeBSD
2012-09-13 14:33:15 -07:00
Niko Matsakis
2f6b66ecd3
s/vec::as_buf/vec::as_imm_buf/, fix comment, remove set.rs
...
hat tip to @jruderman
2012-09-13 13:24:33 -07:00
Brian Anderson
6f9539a15c
Merge pull request #3487 from Blei/fix-3465
...
rt: Implement ThreadPerCore scheduling mode
2012-09-13 12:01:15 -07:00
Brian Anderson
b776395263
core: Remove old definition of rt_fail
2012-09-13 11:49:55 -07:00
Philipp Brüschweiler
62b51d9152
rt: Implement ThreadPerCore scheduling mode
...
Fixes #3465 .
2012-09-13 20:48:33 +02:00
Patrick Walton
57f99326a7
libcore: Make logging of structural subcomponents after a pointer not crash
2012-09-13 11:20:19 -07:00
Niko Matsakis
e0845eb589
repr: emit closing )
for enum variants, test that nullary variants names print
2012-09-13 11:10:05 -07:00
Niko Matsakis
109055c7d3
make iter::position() not require Eq
2012-09-13 09:14:49 -07:00
Brian Anderson
308ca06012
Rename str::unsafe to str::raw
2012-09-12 19:55:16 -07:00
Patrick Walton
59c3c6c147
libcore: Remove debugging code from transmute.
...
Was causing huge code bloat.
2012-09-12 19:08:01 -07:00
Patrick Walton
df712ab3d5
libcore: Make %? use the visitor, not shape glue
2012-09-12 18:59:14 -07:00
Patrick Walton
45f5f8ec45
libcore: Add some visitor-based logging functionality
2012-09-12 18:22:08 -07:00
Erick Tryzelaar
8299f3a447
libcore: add send_map::with_find_ref and with_get_ref.
2012-09-12 18:19:06 -07:00
Erick Tryzelaar
35a418eb88
libcore: modernize send_map's whitespacing
2012-09-12 18:19:06 -07:00
Brian Anderson
ff54ac8e59
Rename vec::unsafe to vec::raw
2012-09-12 17:45:36 -07:00
Graydon Hoare
37cf649311
Document IterBytes, Eq, Cmp, Hash. Close #3449 .
2012-09-12 17:08:25 -07:00
Philipp Brüschweiler
7a6df9c90f
core: Implement ToStr for @str
2012-09-12 17:08:25 -07:00
Niko Matsakis
7eb10c4ce1
purge the separate path for rel ops (e.g., ==) vs other bin ops
2012-09-12 15:41:22 -07:00
Brian Anderson
287114a3b9
Remove some transitional code
2012-09-12 15:09:21 -07:00
Graydon Hoare
4ce2ee12be
Add a bunch of inline hints.
2012-09-12 14:48:18 -07:00
Niko Matsakis
5d540de769
fixup mutability of vec::each, make iter_bytes pure
...
also, change DVec() to work with imm vectors rather than mut ones
2012-09-12 13:29:31 -07:00
Brian Anderson
8fbe4b5841
Rename core::rt_fail to core::rt_fail_
2012-09-12 11:52:00 -07:00
Brian Anderson
320331fe35
Use a different strategy for transitioning to camel case extfmt
2012-09-12 11:22:48 -07:00
Niko Matsakis
2eef6658c3
update to store map on stack, taking advantage of auto-ref
2012-09-12 06:47:28 -07:00
Niko Matsakis
8a8f200d10
Introduce auto adjustment table to subsume autoderef/autoref/borrowings.
...
Fixes #3261
Fixes #3443
2012-09-11 21:25:01 -07:00
Tim Chevalier
c087886e93
Make moves explicit in arguments
2012-09-11 20:02:34 -07:00
Brian Anderson
2c6c963f61
Convert core::extfmt to camel case
2012-09-11 19:41:07 -07:00
Brian Anderson
be1fdf983f
Promote 'impl' from restricted keyword to strict
2012-09-11 19:28:44 -07:00
Brian Anderson
ea01ee2e9e
Convert 'use' to 'extern mod'. Remove old 'use' syntax
2012-09-11 19:25:43 -07:00
Brian Anderson
fb851242b7
Promote 'pub' and 'priv' from restricted to strict keywords
2012-09-11 18:17:26 -07:00
Brian Anderson
8672b9003f
Merge pull request #3440 from jld/vec-dedup
...
Add vec::dedup for in-place consecutive duplicate element removal.
2012-09-11 17:25:21 -07:00
Brian Anderson
298eb8c726
Convert 'import' to 'use'. Remove 'import' keyword.
2012-09-10 19:04:26 -07:00
Tim Chevalier
f8b3eaae82
Make all moves explicit in libsyntax
2012-09-10 18:28:47 -07:00
Patrick Walton
2aa67e9aa9
rustc: Stop calling cmp shape glue in trans.
...
XFAIL's alt-borrowed_str for now. Will need to fix this up in the future.
2012-09-10 17:26:17 -07:00
Niko Matsakis
29003c799f
Rename the poorly named Managed<T> type to Mut<T>.
...
The Mut<T> type is intended to allow freezable data stuctures to be stored in
`@mut` boxes. Currently this causes borrowck to be very conserivative since it
cannot prove that you are not modifying such a structure while iterating over
it, for example. But if you do `@Mut<T>` instead of `@mut T`, you will
effectively convert borrowck's static checks into dynamic ones. This lets
you use the e.g. send_map just like a Java Map or something else.
2012-09-10 16:50:07 -07:00
Niko Matsakis
2026359518
fix a implicitly copyable warning
2012-09-10 16:50:07 -07:00
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
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
Brian Anderson
e767011b77
core: Add missing from_str.rs
2012-09-03 14:14:17 -07:00
Patrick Walton
aefc884cf6
libcore: Add a from_str trait
2012-09-03 13:09:24 -07:00
Patrick Walton
c2f8cf9dc1
libcore: Remove as_bytes_slice
2012-09-03 12:33:43 -07:00
Brian Anderson
f393100b7c
Camel case core::ops
2012-09-02 18:13:56 -07:00
Brian Anderson
49c9ac175f
Silence non-implicitly-copyable-typarams in coretest
2012-09-02 16:34:36 -07:00
Brian Anderson
ffa5d76a78
core: Only warn about implicitly copying vecs
2012-09-02 16:21:57 -07:00