Commit Graph

1688 Commits

Author SHA1 Message Date
Erick Tryzelaar
bb1ed97ca2 libcore: str trim functions can be applied to &strs 2012-10-08 08:08:06 -07:00
Erick Tryzelaar
0e7571b060 libcore Fix the tuple first_ref test 2012-10-07 20:30:17 -07:00
Erick Tryzelaar
91b7a9a529 libcore: add first_ref and second_ref to tuples 2012-10-07 17:20:19 -07:00
Tim Chevalier
05999290e2 Finally removing all uses of by-mut-ref
The code for the mode itself is still there.
2012-10-05 21:03:40 -07:00
Tim Chevalier
45345bda6a Remove uses of mutable ref mode.
It's still in the compiler right now, but warned about
2012-10-05 16:57:37 -07:00
Tim Chevalier
f8bc0d2545 Revert "wip"
This reverts commit ca49fd402a.
2012-10-05 16:10:08 -07:00
Tim Chevalier
ca49fd402a wip 2012-10-05 15:39:12 -07:00
Tim Chevalier
e16dbb7888 Demode some code using by-mutbl-ref; warn about by-mutbl-ref
The parser now warns about use of mutbl-ref mode, though it's kind
of a lie since this commit doesn't remove support for the mode.

Changed move_val_init to have stage0 and stage1/2 versions, the latter of
which is demoded.

Changed the type that the typechecker expects the move_val_init
intrinsic to have. After this is pushed, I can make a new snapshot,
which will remove the need for the stage0 versions.
2012-10-05 15:37:01 -07:00
Brian Anderson
e46e97fc9a Silence most of the remaining warnings 2012-10-05 11:53:24 -07:00
Brian Anderson
2f6f0b55fc core: Correct description of cast::forget
'managed' means something different now
2012-10-05 01:59:37 -06:00
Tim Chevalier
8fc60af441 Remove by-copy mode from std, mostly
One instance remains in net_tcp due to a foreign fn. Lots of
instances remain in serialization.rs, but IIRC that is being removed.

I had to do unholy things to task-perf-word-count-generic to get it
to compile after demoding pipes. I may well have messed up its
performance, but it passes.
2012-10-04 19:59:47 -07:00
Tim Chevalier
4155a60c75 Fix FIXME that's no longer blocked by #2611 2012-10-04 19:43:32 -07:00
Tim Chevalier
202c8fd0eb Kill bootstrapping code in ptr 2012-10-04 16:48:57 -07:00
Tim Chevalier
65c96f849f Forbid deprecated modes again in core
Sadly, there's only one file that requires deprecated modes
(stackwalk)... So, forbid them everywhere else.
2012-10-04 16:48:57 -07:00
Tim Chevalier
fe12da0864 De-mode comm::Chan 2012-10-04 16:48:57 -07:00
Tim Chevalier
777baeb298 Remove code that was waiting for a snapshot
extfmt is now demoded
2012-10-04 16:48:56 -07:00
Graydon Hoare
c37c243e95 Remove some residue, core is effectively de-exported now. Close #3583. 2012-10-04 16:08:08 -07:00
Brian Anderson
c83218de12 core: Improve option docs a little 2012-10-04 15:15:09 -07:00
Graydon Hoare
6ffce1a1c3 De-export extfmt. Part of #3583. 2012-10-04 13:50:02 -07:00
Brian Anderson
ae42318bef core: Make some parts of task private 2012-10-03 22:07:11 -07:00
Patrick Walton
82fd71137a libcore: De-export core.rc and core.rs 2012-10-03 19:40:25 -07:00
Graydon Hoare
a1ab0cd6a8 Sub-uses from libc should be pub. 2012-10-03 15:14:56 -07:00
Graydon Hoare
365f174838 Attempt to fix os::args errors on various platforms. 2012-10-03 15:02:22 -07:00
Patrick Walton
2f451a7bd7 rustc: Only allow imports marked with "pub" to be imported from other modules 2012-10-02 18:15:19 -07:00
Graydon Hoare
8a5545e9cd Fix long line. 2012-10-02 16:32:45 -07:00
Graydon Hoare
c31a88c7f4 De-export the submodules of task. Part of #3583. 2012-10-02 16:32:00 -07:00
Patrick Walton
2df168812d libcore: Implement os::args() on Windows 2012-10-02 15:33:44 -07:00
Tim Chevalier
f78cdcb636 Removing explicit uses of + mode
This removes most explicit uses of the + argument mode. Pending a
snapshot, I had to remove the forbid(deprecated_modes) pragma from
a bunch of files. I'll put it back!

+ mode still has to be used in a few places for functions that get
moved (see task.rs)

The changes outside core and std are due to the to_bytes trait and
making the compiler (with legacy modes on) agree with the libraries
(with legacy modes off) about modes.
2012-10-02 14:31:39 -07:00
Daniel Patterson
0b9a47a189 core::rand - adding rand::random(), a shortcut to generate a uint with task-local rng 2012-10-02 17:15:14 -04:00
Patrick Walton
9284179311 libstd: Switch off legacy modes in both core and std. 2012-10-02 12:20:06 -07:00
Graydon Hoare
b787a26534 De-export comm, task. Part of #3583. 2012-10-02 12:05:08 -07:00
Daniel Patterson
6c7459de99 core::rand - adding test for task_rng() 2012-10-02 11:23:32 -07:00
Daniel Patterson
c7354e6c10 core::rand - adding task local lazily initialized rng, as per #3439 2012-10-02 11:23:32 -07:00
Brian Anderson
4d30b34673 core: Add implementation of real_args for FreeBSD 2012-10-02 10:31:37 -07:00
Niko Matsakis
b1506c3150 silence warning 2012-10-01 20:44:30 -07:00
Erick Tryzelaar
8fc3088b2a rename vec::raw::form_slice to buf_as_slice
This matches the str::raw function.
2012-10-01 20:44:30 -07:00
Brian Anderson
8b094c36aa Merge pull request #3638 from dbp/typo
core::task - typo in comment
2012-10-01 19:36:58 -07:00
Daniel Patterson
ebdb4b7ef7 core::task - typo in comment 2012-10-01 22:21:41 -04:00
Graydon Hoare
7ead3c0411 De-export dlist, dvec. Part of #3583. 2012-10-01 17:50:44 -07:00
Graydon Hoare
39f114d171 De-export iter and result. Part of #3583. 2012-10-01 17:27:56 -07:00
Graydon Hoare
e480e19694 Attempt to fix option::test_unwrap_str breakage. 2012-10-01 16:14:30 -07:00
Graydon Hoare
9c8ff35727 De-export either. Part of #3583. 2012-10-01 16:11:37 -07:00
Graydon Hoare
c042e06908 De-export vec. Part of #3583. 2012-10-01 16:11:17 -07:00
Patrick Walton
4c3fede84f libcore: Fix tidy error 2012-10-01 16:02:17 -07:00
Patrick Walton
9fe40e8a7b libcore: Allow the command line arguments to be set on a per-task basis 2012-10-01 15:35:04 -07:00
Tim Chevalier
b18320446e Move over to calling ptr::addr_of
Everything should now call ptr::addr_of instead of
ptr::p2::addr_of. Only the pipes macro code when compiled
by stage0 will call ptr::p2::addr_of. Needs a snapshot to get
rid of that.
2012-10-01 15:12:09 -07:00
Tim Chevalier
72ae42627b Call 'new' instead of 'old' extfmt code, preparing for snapshot 2012-10-01 15:12:09 -07:00
Patrick Walton
9b4db17630 libcore: Implement a sys::args() on Mac 2012-10-01 14:36:55 -07:00
Graydon Hoare
1229d1c2ce De-export option and option_iter. Part of #3583. 2012-10-01 14:12:36 -07:00
Graydon Hoare
db44dc5cf2 De-export gc and io. Part of #3583. 2012-10-01 14:09:44 -07:00
Gareth Daniel Smith
1c76d189c0 When a vec/str bounds check fails, include the bad index and the length of the str/vec in the fail message. 2012-09-30 14:55:56 -07:00
Brian Anderson
affa3880de core: Fix unsafe code in spawn_raw 2012-09-29 16:33:53 -07:00
Tim Chevalier
4f323d05da Unbork Windows 2012-09-28 23:30:17 -07:00
Tim Chevalier
3639d38d5c Add a demoded version of ptr::addr_of
Currently, the new version is ptr::p2::addr_of and the old one is
ptr::addr_of. This is kind of cheesy, but I need a snapshot before I
can ditch the old version, since the pipe compiler generates calls to
addr_of.

core is converted over to use the new version, std is not.
2012-09-28 22:19:01 -07:00
Tim Chevalier
f1014c43fd Finish demoding iter: from_elem, copy_seq, map, append 2012-09-28 21:52:32 -07:00
Graydon Hoare
f311bb38cd Fix benchmarks. 2012-09-28 18:26:36 -07:00
Tim Chevalier
84b0583064 Squash a couple pattern warnings that I missed 2012-09-28 17:59:01 -07:00
Tim Chevalier
a3a257cc3b Demode iter::foldl and friends 2012-09-28 17:57:02 -07:00
Tim Chevalier
fdc6062136 Demode dvec 2012-09-28 17:55:34 -07:00
Brian Anderson
e48429abae core: Demode the vec::foldr method 2012-09-28 17:48:14 -07:00
Graydon Hoare
3654287826 De-export logging, to_str, to_bytes, from_str, util. Part of #3583. 2012-09-28 17:47:09 -07:00
Tim Chevalier
fec96b2ae0 Demoding in iter: any, all, map_to_vec, flat_map_to_vec, filter_to_vec 2012-09-28 17:44:15 -07:00
Brian Anderson
9a8d4adb7d Long lines 2012-09-28 17:30:40 -07:00
Brian Anderson
8766c2e35b core: Demode patterns 2012-09-28 16:57:36 -07:00
Brian Anderson
a6fe5ef1a9 core: Fix more windows bustage 2012-09-28 16:44:38 -07:00
Graydon Hoare
9b64d71848 Fix windows breakage. 2012-09-28 16:35:33 -07:00
Graydon Hoare
ad951b5976 De-export ptr, hash. Part of #3583. 2012-09-28 16:27:28 -07:00
Graydon Hoare
baa08d5a95 Fix long line. 2012-09-28 16:27:28 -07:00
Graydon Hoare
1d51cfa1e8 Finish de-exporting send_map, future, pipes. Part of #3583. 2012-09-28 16:27:09 -07:00
Niko Matsakis
565b39b302 rename iter2 to each2, make it follow iterator protocol 2012-09-28 16:13:03 -07:00
Graydon Hoare
fd8e7aab71 De-export bool, tuple, unit, uniq. Part of #3583. 2012-09-28 16:05:53 -07:00
Graydon Hoare
4b7d4cd0cf De-export str. Part of #3583. 2012-09-28 15:41:15 -07:00
Tim Chevalier
2fe451c6ba Fix patterns in either 2012-09-28 14:59:23 -07:00
Tim Chevalier
d9a06be224 Fix patterns in tuple 2012-09-28 14:59:22 -07:00
Graydon Hoare
94f7bf98f9 Finish de-exporting uint modules. Part of #3583. 2012-09-28 14:54:39 -07:00
Tim Chevalier
2f4ee89119 Demode extfmt
Needs a snapshot before this can be completed, because I changed
the mode for conv_poly.
2012-09-28 13:47:45 -07:00
Niko Matsakis
21519bc7e0 demode vec 2012-09-28 13:27:45 -07:00
Graydon Hoare
70c202e218 De-export f32 and f64. 2012-09-28 12:30:33 -07:00
Graydon Hoare
3eb7b5ca13 De-export ops, cmp, num. Part of #3583. 2012-09-28 12:30:18 -07:00
Graydon Hoare
0792ebe08a Finish de-exporting int-template and the int modules. 2012-09-28 12:03:54 -07:00
Brian Anderson
438bdd687b core: More option demoding 2012-09-27 17:49:10 -07:00
Graydon Hoare
4eb5177d8c Finish de-exporting cast, mutable, flate, repr, cleanup, reflect. Part of #3583. 2012-09-27 17:17:27 -07:00
Brian Anderson
24265b1598 core: Add failure tests for higher-order vec functions 2012-09-27 16:58:24 -07:00
Graydon Hoare
8c89e4bbdd Finish de-exporting path, rand, run, sys. Part of #3583. 2012-09-27 15:44:09 -07:00
Graydon Hoare
3254bee55e More fixing for windows build. 2012-09-27 14:48:40 -07:00
Graydon Hoare
51152ccf9d De-export private and unicode. Part of #3583. 2012-09-27 14:41:29 -07:00
Graydon Hoare
cda1d35251 Finish de-exporting box, char, float. Part of #3583. 2012-09-27 14:40:53 -07:00
Graydon Hoare
3dd87689ee Try to fix win32 breakage on os. 2012-09-27 14:20:46 -07:00
Graydon Hoare
b41d5146cc De-export os and libc. Close #2006. 2012-09-27 14:08:47 -07:00
Tim Chevalier
7e7411e620 Demode rand 2012-09-27 11:32:09 -07:00
Brian Anderson
52ad2750ea Register snapshots 2012-09-27 00:58:07 -07:00
Niko Matsakis
e844e1db6e change vec::view sig to be sound (good catch @bblum) 2012-09-26 21:29:22 -07:00
Brian Anderson
2340ef96d5 Merge pull request #3526 from Dretch/viewmethod
Make vec::view a method too.
2012-09-26 21:08:26 -07:00
Brian Anderson
e8fe718bfd core: Replace map/map_default with map_ref/map_default_ref 2012-09-26 20:15:23 -07:00
Brian Anderson
64de6d638d core: Fix mode warnings in str 2012-09-26 20:04:20 -07:00
Patrick Walton
1880d783b7 libcore: Partially de-export int-template and uint-template 2012-09-26 18:46:48 -07:00
Patrick Walton
a08919a522 libcore: Partially de-export char, f32, f64, and float 2012-09-26 18:17:33 -07:00
Niko Matsakis
67a8e7128a Demode vec::push (and convert to method) 2012-09-26 18:02:07 -07:00
Patrick Walton
cd79e1d1b2 libcore: De-export ptr, send_map, and task::local_data 2012-09-26 17:47:29 -07:00
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
Brian Anderson
117aa8cfee core: warn(non_camel_case_types) everywhere, with few exceptions 2012-09-02 16:14:26 -07:00
Brian Anderson
a80b7dc709 Fix use of reinterpret_cast in to_mut_unsafe_ptr 2012-09-02 16:03:37 -07:00
Patrick Walton
f03ed73c5e libcore: Add ptr::to_mut_unsafe_ptr 2012-09-02 15:54:24 -07:00
Brian Anderson
087c5032a8 core: deny(vecs_implicity_copyable) 2012-09-02 15:38:18 -07:00
Brian Anderson
80c4f74c29 Remove the 'to' keyword 2012-09-01 18:38:18 -07:00
Brian Anderson
d777e51333 Demode reinterpret_cast 2012-09-01 18:18:29 -07:00
Tim Chevalier
4128cc4cb4 Make utility funs in core::int, core::uint, etc. not by-reference
Closes #3302
2012-08-31 16:21:47 -07:00
Erick Tryzelaar
5c6be13b29 libcore: add result::unwrap_err. 2012-08-30 21:11:28 -07:00
Erick Tryzelaar
7649860339 libcore: result::unwrap should use moves 2012-08-30 21:11:28 -07:00
Erick Tryzelaar
afeaf7d88c libcore: fix a typo 2012-08-30 21:11:27 -07:00
Erick Tryzelaar
c0f357924d libcore: vec::u8::hash is pure. 2012-08-30 20:40:52 -07:00
Erick Tryzelaar
628b946186 libcore: rewrite str::reserve in pure rust. 2012-08-30 20:40:52 -07:00
Erick Tryzelaar
9074d9b581 libcore: rewrite io::MemBuffer.write to use memcpy (#2004) 2012-08-30 20:40:52 -07:00
Erick Tryzelaar
7bb65848a1 libcore: Rewrite str::unsafe::push_byte in pure rust. 2012-08-30 20:40:52 -07:00
Erick Tryzelaar
94c3975a9a libcore: str::push_char should use str::unsafe::set_len. 2012-08-30 20:40:52 -07:00
Erick Tryzelaar
0e1a4a4da2 libcore: rewrite vec::unsafe::from_buf in pure rust 2012-08-30 20:40:52 -07:00
Graydon Hoare
536cb90a21 Migrate core::send_map to random, keyed hashes w/ hash::Hash trait. 2012-08-30 19:05:54 -07:00
Graydon Hoare
54a8d69c4f Change str : Eq to use memcmp. 2012-08-30 16:27:31 -07:00
Brian Anderson
65b05a6ce8 Bump version to 0.4 2012-08-30 14:05:59 -07:00
Graydon Hoare
bb8a510113 Add an impl path::WindowsPath : Eq. 2012-08-30 13:22:31 -07:00
Graydon Hoare
a9619306a5 Start moving core::hash to support a Hash trait. Add to_bytes::IterBytes trait. 2012-08-30 12:38:28 -07:00
Patrick Walton
5c721bd810 libstd: More test fixes 2012-08-30 12:15:53 -07:00
Patrick Walton
470a301467 libcore: Fix test issues harder 2012-08-30 11:02:13 -07:00
Patrick Walton
27576af73e libcore: Fix test issues 2012-08-30 10:42:48 -07:00
Patrick Walton
9518fc79ea cargo: Fix some lack of knowledge of basic algebraic identities 2012-08-30 10:39:28 -07:00
Patrick Walton
45e46f5fc0 libcore: Add missing unit.rs 2012-08-30 10:14:54 -07:00
Patrick Walton
a1c11cab2d rustc: Make <=, >=, and > use traits as well 2012-08-29 19:23:15 -07:00
Patrick Walton
59bdd8bde6 libcore: Fix build breakage 2012-08-29 18:27:26 -07:00
Patrick Walton
96534365c2 rustc: Make < and = into traits 2012-08-29 18:25:22 -07:00
Brian Anderson
c0c8d3aa8f core: Demode int/uint mods 2012-08-29 16:23:36 -07:00
Brian Anderson
8aca44ee0c core: Don't normalize paths by default. Add a normalize method 2012-08-29 14:28:37 -07:00
Brian Anderson
fd12188c07 core: Export sys::Closure 2012-08-29 14:05:27 -07:00
Brian Anderson
6e20ffeb8d Add sys::Closure type 2012-08-29 14:04:22 -07:00
Jed Davis
3e4b55807d Add vec::truncate, for efficiently shortening a vector. 2012-08-29 13:46:49 -07:00
Graydon Hoare
6d22a805d7 Replace core::path with contents of core::path2. Back to one path module. 2012-08-29 13:26:51 -07:00
Erick Tryzelaar
e398a72c42 libcore: fix a typo exporting Err. 2012-08-28 20:16:21 -07:00
Niko Matsakis
a19dce6c16 correct name of SendMap trait 2012-08-28 19:10:44 -07:00
Graydon Hoare
b769e29680 Compress metadata section. Seems a minor speed win, major space win. 2012-08-28 14:50:39 -07:00
Brian Anderson
31bbcf0267 Import Result, Ok, and Err by default. Closes #3287 2012-08-28 14:49:49 -07:00
Brian Anderson
cfbc7cbdc7 Convert core::pipes to camel case 2012-08-28 14:33:18 -07:00
Niko Matsakis
e9b7ce6f57 refactor send_map impl to be based on structs 2012-08-28 12:00:42 -07:00
Niko Matsakis
206edf66c9 make rand code use slices 2012-08-27 19:56:42 -07:00
Niko Matsakis
0a01d82f6f preliminary work on making future's sendable
also various improvements to the ptr casting fns:
- rename assimilate() to to_unsafe_ptr() (fixes #3110)
- introduce `unsafe::copy_lifetime()` to copy the lifetime from one ptr to another
2012-08-27 19:56:16 -07:00
Patrick Walton
ff513b1bcd libcore: Replace a bunch of "== None" with ".is_none()".
Generally, "== None" calls into the shape glue, and it's also more useful.
2012-08-27 17:49:35 -07:00
Patrick Walton
f2dcd7663a libcore: Use is_none() in pipes 2012-08-27 17:43:15 -07:00
Patrick Walton
303e105677 libcore: Fix equality for pointers... again 2012-08-27 17:42:47 -07:00
Patrick Walton
32b13ce2ce libcore: Fix signature of the impl for *T 2012-08-27 17:37:41 -07:00
Patrick Walton
daf10a2a6c libcore: Fix a use of the shape glue in TLS 2012-08-27 17:37:31 -07:00
Patrick Walton
9c04454e7b libcore: Implement equality for pointers 2012-08-27 17:33:22 -07:00
Patrick Walton
5792244d03 rustc: Implement equality for option types 2012-08-27 17:24:50 -07:00
Brian Anderson
161a82e433 Camel case various core constructors 2012-08-27 17:22:18 -07:00