Commit Graph

646 Commits

Author SHA1 Message Date
Brian Anderson
c94d4cff03 Convert std::net to istrs. Issue #855 2011-08-30 21:08:07 -07:00
Brian Anderson
4c936d7992 Add #ifmt extension, like #fmt but for istrs. Issue #855 2011-08-30 21:08:07 -07:00
Brian Anderson
9e2c5f77a4 Remove the %S istr conversion from #fmt
I want to do the #fmt transition a different way. Issue #855
2011-08-30 21:08:07 -07:00
Tim Chevalier
9f7ed2f054 Add a total version of vec::last that has a precondition 2011-08-30 17:17:42 -07:00
Tim Chevalier
268533a920 Add a precondition on vec::zip
vec::zip now has the precondition that the two argument vectors
are the same length. Changed uses of it to reflect that.

Also added a few vector-enumerating utilities to vec.rs, which
necessitated in making some functions in u8 declared-pure.
2011-08-30 16:39:22 -07:00
Marijn Haverbeke
7bbe8d2e8c Stop relying on klunky hack in alias.rs
It assumed node_ids increased monotonically for locals, but macros
make this no longer the case, and it was a dubious assumption anyway.
It now numbers locals itself and uses that to determine which precede
which.
2011-08-30 17:03:00 +02:00
Marijn Haverbeke
4db388ea6c Remove obsolete exports 2011-08-29 23:46:38 +02:00
Marijn Haverbeke
b099b1e3f7 Make std::istr::push_byte efficient
It used to allocate two (!) heap values per pushed byte. It now goes through
a runtime function that simply grows the istr and writes the byte.
2011-08-29 22:46:49 +02:00
Marijn Haverbeke
c9c5ee252a Implement non-internal ivecs
Vectors are now similar to our old, pre-internal vectors, except that
they are uniquely owned, not refcounted.

Their name should probably change too, then. I've renamed them to vec
in the runtime, will do so throughout the compiler later.
2011-08-29 09:07:53 +02:00
Brian Anderson
58dedcd090 Convert lexer to istrs. Issue #855 2011-08-27 15:54:45 -07:00
Brian Anderson
138973335a Add std::istr::as_buf for converting to cstrs. Issue #855 2011-08-27 15:54:44 -07:00
Brian Anderson
7284f820d5 Support istrs in #fmt. Issue #855
The format string may be an istr and istr args may be used with %S
2011-08-27 15:54:44 -07:00
Brian Anderson
652332f9d4 Convert std::map::new_str_hash to istrs. Issue #855 2011-08-27 15:54:44 -07:00
Brian Anderson
faef9490ae Optimize std::istr::to_estr. Issue #855 2011-08-27 15:54:44 -07:00
Brian Anderson
15e3ae7936 Convert std::os to istrs. Issue #855 2011-08-27 15:54:44 -07:00
Brian Anderson
85b4253bc1 Convert std::generic_os to istrs. Issue #855 2011-08-27 15:54:43 -07:00
Brian Anderson
ccc68fc18b Add std::istr::str_from_cstr. Issue #855 2011-08-27 15:54:43 -07:00
Brian Anderson
fcc031c5b4 Convert std::io to istrs. Issue #855 2011-08-27 15:54:43 -07:00
Brian Anderson
20178b9312 Convert std::run to istrs. Issue #855 2011-08-27 15:53:09 -07:00
Brian Anderson
4cf2e510e0 Convert std::getopts to istrs. Issue #855 2011-08-27 15:53:09 -07:00
Brian Anderson
c2eafd268b Convert std::fs to istrs. Issue #855 2011-08-27 15:53:09 -07:00
Brian Anderson
051f1ff562 Convert std::sha1 to istrs. Issue #855 2011-08-27 15:53:09 -07:00
Brian Anderson
bd84fbe9f3 Convert std::term to istrs. Issue #855 2011-08-27 15:53:08 -07:00
Brian Anderson
8146ca982e Convert std::u64 to istrs. Issue #855 2011-08-27 15:53:08 -07:00
Brian Anderson
53be480d20 Convert std::int to istrs. Issue #855 2011-08-27 15:53:08 -07:00
Brian Anderson
ee2a11eb4f Convert std::uint to istrs. Issue #855 2011-08-27 15:53:08 -07:00
Brian Anderson
69e6abf9ce Rename std::istr::from_str/to_str to from_estr/to_estr. Issue #855
This will make it a bit clearer what's going on
2011-08-27 15:53:08 -07:00
Brian Anderson
2c8a93aa3b Convert std::bitv to istrs. Issue #855 2011-08-27 15:53:08 -07:00
Eric Holk
2fab948e01 stdlib: Added a treemap traversal function. 2011-08-26 18:03:32 -07:00
Eric Holk
cd913b454d stdlib: Added an incredibly simple treemap. 2011-08-26 18:03:32 -07:00
Tim Chevalier
b099760269 Remove remaining use of 'pred' and make 'pred' a non-reserved word. Huzzah\! 2011-08-25 22:26:45 -07:00
Tim Chevalier
d9bc3cb10c Change "pred" to "pure fn" in all libraries and test cases 2011-08-25 18:24:45 -07:00
Eric Holk
2f7c583bc1 Cleaning up task and comm exports, updating all the test cases. 2011-08-25 11:21:25 -07:00
Brian Anderson
b31815f8a0 Fix istr::unsafe_from_bytes. Issue #855 2011-08-25 10:33:28 -07:00
Brian Anderson
18576e55f7 Resolve a number of FIXMEs 2011-08-23 18:55:37 -07:00
Graydon Hoare
c011f13144 Add kind-checking for assign-op, copy, ret, be, fail exprs. Fix caught kinding-violations in rustc and libstd. 2011-08-23 15:58:53 -07:00
Brian Anderson
68fd28c2c1 Cleanup formatting in std::sha1
This file has suffered a lot of reformats and was looking pretty ragged
2011-08-23 13:22:44 -07:00
Brian Anderson
45b614f54a Add ivec::from_str and to_str methods. Issue #855 2011-08-22 21:33:52 -07:00
Brian Anderson
663d07d319 Add std::istr. Issue #855 2011-08-22 21:33:49 -07:00
Brian Anderson
55c54f0db5 Promote std::task::rustrt::leak to std::unsafe::leak
I want to use this for std::istr
2011-08-22 18:05:34 -07:00
Brian Anderson
518dc52f85 Reformat
This changes the indexing syntax from .() to [], the vector syntax from ~[] to
[] and the extension syntax from #fmt() to #fmt[]
2011-08-20 11:04:00 -07:00
Michael Sullivan
84a6b888c0 Add an iter2 iterator to vec. 2011-08-19 16:14:38 -07:00
Brian Anderson
1aa1f8c4b7 Rename various things from ivec to vec 2011-08-18 14:32:25 -07:00
Marijn Haverbeke
cd440d338e Remove or _-prefix all unused function arguments
This should make the compilation process a bit less noisy.
2011-08-18 10:02:13 +02:00
Eric Holk
3ab21e5ee0 Better type inference for chans and ports. 2011-08-17 17:16:23 -07:00
Brian Anderson
df10df821b Remove last mentions of vec<> type in Rust source 2011-08-17 16:08:17 -07:00
Brian Anderson
ad598ebea0 Use the new task join methods in the test runner. Closes #826
It should report failures properly again
2011-08-17 15:34:54 -07:00
Brian Anderson
15f9f1a1f1 Remove more hacks from the test runner 2011-08-17 15:12:38 -07:00
Brian Anderson
87a782c0b3 Simplify default_test_to_task
Doesn't appear to require an unsafe pointer now
2011-08-17 15:12:35 -07:00
Eric Holk
9e020b8b8f Convenience methods for spawning and joining tasks. 2011-08-17 15:07:19 -07:00
Eric Holk
ae89ea223d Making more of the rust_task structure directly accessible from Rust. 2011-08-17 14:42:40 -07:00
Eric Holk
efac7c9a19 Yet another comm interface. 2011-08-17 14:42:40 -07:00
Brian Anderson
62ac9d0b2e Restore test task setup
This is needed in order for the test runner to continue on failure, and I
don't see that it causes any problems.
2011-08-17 12:08:43 -07:00
Eric Holk
94260fb91d Using move-mode for spawn thunks to avoid race conditions. 2011-08-17 11:44:50 -07:00
Brian Anderson
c95e3ab6a8 Remove transitional interfaces from std::extfmt 2011-08-17 09:55:55 -07:00
Brian Anderson
53df58a177 Purge vecs from the std::test interface 2011-08-17 09:55:55 -07:00
Eric Holk
fc616af820 Updating to new type parameter syntax. 2011-08-16 16:52:52 -07:00
Eric Holk
8686645aad New channel-based task status notifications. 2011-08-16 16:47:40 -07:00
Erick Tryzelaar
d9327a61bb Port the stdlib to the expr foo::<T> syntax. 2011-08-16 15:05:56 -07:00
Erick Tryzelaar
4c9049c50c Port the stdlib to the decl foo<T> syntax. 2011-08-16 15:05:56 -07:00
Erick Tryzelaar
f764f9a8cf Port the stdlib to the typaram foo<T> syntax. 2011-08-16 15:05:56 -07:00
Brian Anderson
f05a91a0dc Rename std::ivec to std::vec 2011-08-16 10:36:19 -07:00
Brian Anderson
38c2363c45 Replace std::ufind with std::ufindivec. Remove std::ufindivec 2011-08-16 10:29:09 -07:00
Brian Anderson
df402a5029 Rename bitv::to_ivec to to_vec 2011-08-16 10:29:09 -07:00
Brian Anderson
bab29af449 Continue migrating the std #fmt interface to ivecs
Only thing left is to remove some duplicate interfaces in std::extfmt::rt
after the next snapshot
2011-08-16 10:29:09 -07:00
Brian Anderson
184eac90ab Add and use an ivec interface to std::test 2011-08-16 10:29:08 -07:00
Eric Holk
88a47020cf Updating sio tests. 2011-08-16 09:45:55 -07:00
Eric Holk
cf2def46c1 Removed trans_comm.rs from the compiler. Updating aio/sio to work with the new chan and port system, started on a networking module for the standard library. 2011-08-16 09:36:29 -07:00
Marijn Haverbeke
92719e438c Clean up zip and unzip in std::ivec 2011-08-16 13:45:41 +02:00
Lindsey Kuper
f91351aaf6 The wonky for...in... whitespace was bothering me. Sorry! 2011-08-15 22:19:50 -07:00
Graydon Hoare
814bf41d89 Add operator 'copy', translates as fall-through. 2011-08-15 15:44:41 -07:00
Eric Holk
d63f8340a5 Properly ref counting to fix valgrind issues on linux. 2011-08-15 09:26:52 -07:00
Eric Holk
be7325073a Removed spawn and task from the parser. Updated all the tests except for the benchmarks. 2011-08-15 09:26:52 -07:00
Eric Holk
cc353aa17a Removed old object-based chans. 2011-08-15 09:26:51 -07:00
Eric Holk
b9f1f77622 Fixed memory accounting and task stack creation bugs. 2011-08-15 09:26:51 -07:00
Eric Holk
2f23405a60 Working on more spawn test cases. 2011-08-15 09:26:51 -07:00
Eric Holk
b2dad8af31 Added a library version of spawn. Before long, we can remove the old version. 2011-08-15 09:26:51 -07:00
Eric Holk
871d1317e5 Move mode for lib comm, converted a few tests. 2011-08-15 09:26:51 -07:00
Eric Holk
39b16077bb Port ID-based channels. 2011-08-15 09:26:51 -07:00
Brian Anderson
34abbde694 Remove std::ivec::to_vec
Nobody needs to create vecs now
2011-08-12 16:13:14 -07:00
Brian Anderson
12b03dd3d4 Add an ivec interface to the #fmt library functions
It will take a snapshot to finish the ivec conversion for #fmt
2011-08-12 16:13:13 -07:00
Brian Anderson
4e62c0d6cb Remove std::vec 2011-08-12 12:14:07 -07:00
Brian Anderson
4fc0848a49 Rename rust_list_files_ivec to rust_list_files 2011-08-12 12:14:07 -07:00
Brian Anderson
8561f7654c Remove rust_list_files from std and rt 2011-08-12 12:14:07 -07:00
Brian Anderson
d1b3ed8c3f Remove runtime vector builtins 2011-08-12 12:14:07 -07:00
Brian Anderson
533becef2f Don't export anything from std::vec 2011-08-12 12:14:07 -07:00
Brian Anderson
3d1634db15 Remove all usages of std::vec::vbuf 2011-08-12 12:14:07 -07:00
Brian Anderson
f9db0390f9 Remove last use of vec:buf 2011-08-12 12:14:07 -07:00
Brian Anderson
f9623f0056 Remove vecs from std::sha1 2011-08-12 12:14:07 -07:00
Brian Anderson
12cd11ecda Remove last uses of vec::len 2011-08-12 12:14:07 -07:00
Brian Anderson
544bdf05c5 Convert uint::parse_buf to ivecs 2011-08-12 12:14:07 -07:00
Brian Anderson
5f71a204d3 Remove vecs from std::getopts 2011-08-12 12:14:07 -07:00
Brian Anderson
8840fab822 Remove unused functions from std::vec 2011-08-12 12:14:07 -07:00
Brian Anderson
784884cc07 Remove more exports from std::vec 2011-08-12 12:14:06 -07:00
Brian Anderson
f323aeed17 Remove more vectors from std 2011-08-12 12:14:06 -07:00
Brian Anderson
0fed53921f Remove ebmlivec module 2011-08-12 12:14:06 -07:00
Brian Anderson
674fb0911c Rename std::termivec to std::term 2011-08-12 12:14:06 -07:00
Brian Anderson
495b0bf65e Remove std::term 2011-08-12 12:14:06 -07:00
Brian Anderson
7625ed52ee Remove vecs from std::sort 2011-08-12 12:14:06 -07:00
Brian Anderson
abf41e15ea Remove usages of vec:print_debug_info 2011-08-12 12:11:12 -07:00