Eric Holk
aba665da32
Fix the signature on vec::view.
...
Due to limitations in region inference, this has the effect of making vec::view pretty much entirely unusable.
2012-07-12 18:16:00 -07:00
Graydon Hoare
18da7fef88
Merge remote-tracking branch 'origin/dist-snap' into incoming
2012-07-12 17:14:55 -07:00
Michael Sullivan
2ea9c8df0f
Accept prefix notation for writing the types of str/~ and friends.
2012-07-12 16:52:26 -07:00
Michael Sullivan
1c62f5ff74
Get rid of all of the remaining /~s in the code base.
2012-07-12 15:13:18 -07:00
Michael Sullivan
120773b2a7
Change the interface of placement new to take a tydesc as part of Issue #2831 .
2012-07-11 11:42:49 -07:00
Graydon Hoare
aa7b3cc929
Fix some version numbers.
2012-07-11 09:09:08 -07:00
Brian Anderson
ccee8cb4f9
std: Fix deadlock by unsupervising the global I/O task
2012-07-10 15:10:13 -07:00
Erick Tryzelaar
1972ae23e5
libcore: add a task::set_sched_mode fn
2012-07-10 08:45:08 -07:00
Graydon Hoare
c26d02557e
Switch 'cont' to 'again' everywhere. Close #2229 .
2012-07-09 14:37:48 -07:00
Brian Anderson
aa232a5269
Merge pull request #2846 from gwillen/1c882842e06431767676887f97f9dcc0ee50a7b9
...
Add map::clear
2012-07-09 13:26:48 -07:00
Patrick Walton
e41029d236
rustc: Switch to the new resolution pass
2012-07-09 10:27:13 -07:00
Glenn Willen
1c882842e0
Add clear() to the map interface.
...
Add clear to the map interface, and implement it in hashmap and smallintmap.
2012-07-08 16:06:48 -07:00
Niko Matsakis
a856bccdc6
Revert "rustc: Switch to the new resolution pass"
...
This reverts commit c4af6e92fb
.
Branch was burning...many, many unresolved imports.
2012-07-06 20:45:06 -07:00
Patrick Walton
c4af6e92fb
rustc: Switch to the new resolution pass
2012-07-06 19:07:26 -07:00
Tim Chevalier
889be71cb4
Comments only: change TODOs to FIXMEs and annotate them
2012-07-05 16:10:29 -07:00
Tim Chevalier
50d2e7e07e
Mostly change TODOs to FIXMEs and annotate them
...
But, one change in io to implement a TODO suggestion (using a
const u8)
2012-07-05 15:06:33 -07:00
Brian Anderson
7babcf55d7
std: Actually buildbase64
2012-07-05 14:40:51 -07:00
Brian Anderson
73f1f686e9
std: Export base64
2012-07-05 14:39:08 -07:00
Gareth Daniel Smith
be0141666d
convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498
2012-07-04 19:18:13 -07:00
Ben Striegel
f2e2a14f36
Remove empty argument lists from do expressions
2012-07-04 17:21:29 -07:00
Brian Anderson
a52135f5a7
Tidy
2012-07-04 15:01:24 -07:00
Brian Anderson
34660f099e
Merge pull request #2798 from erickt/incoming
...
adding base64 and to_bytes to stdlib
2012-07-04 14:36:03 -07:00
Josh Matthews
10fd19580e
When getopts encounters an option that takes an argument, it should treat the remainder of the current option string as the argument if it is non-empty. Fix #2791 .
2012-07-04 14:23:22 -07:00
Erick Tryzelaar
abee158945
Add a basic base64 module
2012-07-03 21:29:45 -07:00
Ben Blum
aa909dc60a
oops, fix option.expect() and use it in libstd/map.rs
2012-07-03 21:03:51 -04:00
Brian Anderson
41bca84dd9
core: Convert iter::repeat to the for protocol
2012-07-03 17:31:31 -07:00
Patrick Walton
af38333f75
rustc: Speed up def ID parsing in the metadata
2012-07-03 17:12:02 -07:00
Graydon Hoare
be2c92078b
Change crust -> extern.
2012-07-03 16:49:46 -07:00
Graydon Hoare
dc98165443
Mop up a few extra native -> foreign changes.
2012-07-03 16:49:46 -07:00
Graydon Hoare
debb7e4641
Switch 'native' to 'extern' (or 'foreign' in some descriptions)
2012-07-03 16:11:00 -07:00
Patrick Walton
1c2843c8ad
core: Eliminate some overloading of the name "future" in future.rs
2012-07-03 11:24:01 -07:00
Michael Sullivan
c854d6ebdb
Remove some bogus exports.
2012-07-03 10:52:32 -07:00
Brian Anderson
2ea8922b8a
Merge remote-tracking branch 'brson/uv'
2012-07-02 21:39:08 -07:00
Patrick Walton
f093d374ed
rustc: Implement a new resolve pass behind a compile flag
2012-07-02 18:30:12 -07:00
Brian Anderson
18ac4eee3b
std: Ignore a test that doesn't terminate on windows
2012-07-02 16:50:47 -07:00
Brian Anderson
3c6a5385d6
std: Add missing cfg attr for freebsd
2012-07-02 14:32:15 -07:00
Brian Anderson
6d411342c6
Merge remote-tracking branch 'brson/uv'
...
Conflicts:
src/libstd/net_ip.rs
src/libstd/net_tcp.rs
2012-07-02 14:03:38 -07:00
Ben Blum
5b41592f21
Make list::from_vec take a slice, not a ~.
2012-07-02 15:49:46 -04:00
Brian Anderson
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
a3382b6f26
Eliminate usages of old sugared call syntax
2012-06-30 16:01:49 -07:00
Michael Sullivan
98e161f00e
Switch the compiler over to using ~[] notation instead of []/~. Closes #2759 .
2012-06-29 17:41:45 -07:00
Brian Anderson
483aee8dc4
Ignore various uv tests that fail
2012-06-29 17:16:16 -07:00
Jeff Olson
a3c933e0a0
std: uv::ll fixes for 32bit linux
2012-06-29 15:41:56 -07:00
Jeff Olson
087c4244b1
std: adding some basic docs for net::ip::get_addr
2012-06-29 15:41:56 -07:00
Jeff Olson
a696193bab
std: cleanups, post-rebase
2012-06-29 15:41:56 -07:00
Jeff Olson
cfcd3e683b
std/rt: cleanup and adding sockaddr_in6 mapping for win32
2012-06-29 15:41:56 -07:00
Jeff Olson
b074774232
rename net::ip tests en masse
2012-06-29 15:41:56 -07:00
Jeff Olson
b0c4b8ba18
std: fix errors from recent rebase and vec expr/type syntax update
2012-06-29 15:41:56 -07:00
Jeff Olson
9edcb104ff
std: addressing #2656 (ipv6 support in net::tcp)
...
.. there are some additional FIXME nags in net_tcp (L 1012) about blocking
because libuv is holding unsafe ptrs to task local data. the proposed
fix going is not really feasible w/ the current design, IMO, but i'll
leave it there in case someone really wants to make the case without
creating more hassle than it's worth.
2012-06-29 15:41:56 -07:00
Jeff Olson
e097ff6398
std: add test for net::ip::get_addr failure
2012-06-29 15:41:56 -07:00
Jeff Olson
e5212de671
std: beef up ipv4 validation a bit
...
now the best of what we had prior to libuv integration (proper
validation of an ipv4 string), along with libuv support
(initial ipv6 support)
libuv has even weaker facilities for validating an input ipv6
(but still more than what we had), so eventually the "right"
answer would be to roll a proper ipv6 address string parser
in rust
2012-06-29 15:41:56 -07:00
Jeff Olson
81157ff1d2
std: add uv::ll::is_ipv6_addrinfo and get_INADDR_NONE
2012-06-29 15:41:56 -07:00
Jeff Olson
5014a2a413
std: whitespace/comment clean
2012-06-29 15:41:56 -07:00
Jeff Olson
5304698621
std: net::ip::get_addr is working w/ happy path test. needs more.
2012-06-29 15:41:56 -07:00
Jeff Olson
467e4fba33
WIP set aside unshift
2012-06-29 15:41:56 -07:00
Jeff Olson
b2894752e4
std: roughcut impl of net::ip::get_addr()
...
still needs tests
2012-06-29 15:41:56 -07:00
Jeff Olson
8afc113b61
std: wire-up low-level bindings to libuv's uv_getaddrinfo API and friends
2012-06-29 15:41:56 -07:00
Jeff Olson
ccd4bfb6ca
std: mapped addrinfo, addr_in and uv_getaddrinfo_t as rust records
2012-06-29 15:41:55 -07:00
Jeff Olson
334c783d36
std: adding net::ip::v6 utils and rudimentary tests, huzzah! (see caveats)
...
libuv's own ip vetting code appears to in a somewhat woeful state,
for both ipv4 and ipv6 (there are some notes in the tests for net_ip, as
well as stuff added in uv_ll). They are aware of this and welcome patches.
I have rudimentary code in place that can verify whether the provided str
ip was, in fact, validly parsed by libuv, making a few assumptions:
* for ipv4, we assume that the platform's INADDR_NONE val is 0xffffffff ,
I should write a helper to return this value from the platform's libc
headers instead of hard-coding it in rust.
* for ipv6, we assume that the library will always return '::' for
malformed inputs.. as is the case in 64bit ubuntu. I need to verify this
on other platforms.. but at least the debugging output is in place, so
if expectations don't line up, it'll be straightforward to address
2012-06-29 15:41:55 -07:00
Jeff Olson
b6b138630e
std: getting uv_ip6_* utils working in uv::ll
...
.. stub out some brokeness in net::tcp as a result of ipv6 coming online
2012-06-29 15:41:55 -07:00
Jeff Olson
30f26ddbc9
std: adding uv::ll::ip4_name and refactored net::ip to use it
...
replaces net::ip's previously, hand-rolled impl for ipv4 addr parsing..
we're relying on libuv, now
2012-06-29 15:41:55 -07:00
Jeff Olson
c027292846
std: mapping additional libuv ip string helpers.. add test for sockaddr_in6
...
.. but the test is kind of broken.. it appears that rust pads structs for
alignment purposes? I can't get the struct to == 28.. that appears to
be the native size of sockaddr_in6.. so we have a size 32 struct, for now.
2012-06-29 15:41:55 -07:00
Jeff Olson
708b5d986e
core: str::as_slice is unneeded, yay! fixes std::net::tcp socket_buf test
...
i mistook an "unconstrained type" error, due to type-inference messup
because i didnt have return vals in some closure wired-up right, for being
due to not having a str as a str/& (a str will actually auto-coerce to a
str/&, so str::as_slice was erroneously added. my bad).
2012-06-29 15:41:55 -07:00
Jeff Olson
942d3b527e
std: test impl for using tcp_socket_buf and its reader/writer impls. fails.
...
needs work. probably the slice code and/or the way that the tcp_socket_buf
is wrapped in a shared box
2012-06-29 15:41:55 -07:00
Jeff Olson
99d2ec3ad1
std: renaming impl for tcp_socket and reshuffle/cleanup for tcp_socket_buf
2012-06-29 15:41:55 -07:00
Jeff Olson
156a4317f6
std: finish impl of io::writer for tcp_socket_buf
2012-06-29 15:41:55 -07:00
Jeff Olson
af3fa5306d
std: rework signature of tcp::write common impl to make io::writer possible
2012-06-29 15:41:55 -07:00
Jeff Olson
28ab8b841a
std: add buffered wrapper to tcp_socket + io::reader impl. no tests, yet.
...
need to do some other work, in the subsequent commit, to add io::writer,
then tests.
2012-06-29 15:41:55 -07:00
Jeff Olson
31c33ca5ff
std: doc and misc cleanup in net::tcp
...
* updated rustdoc info for several functions
* changed read_stop to take control of the port returned by read_start
* made write_future do an explicit data copy with the binary vector it is
passed
2012-06-29 15:41:55 -07:00
Jeff Olson
f7e3a4e036
std: EADDRINUSE and EACCES err tests for tcp server + more cleanup
...
.. confounded resolve!
2012-06-29 15:41:55 -07:00
Jeff Olson
235f6c7ab7
std: factor main body of tcp::listen into reusable listen_common
2012-06-29 15:41:55 -07:00
Jeff Olson
d79d0aa1c8
std: some cleanup in net::tcp rename listen_to_conn->listen
2012-06-29 15:41:55 -07:00
Jeff Olson
68e129dc39
std: dump the tcp::new_listener server API
2012-06-29 15:41:55 -07:00
Jeff Olson
5d86686e7f
std: mod cleanup, impl/test for conn. refused err + mem leak fix
2012-06-29 15:41:55 -07:00
Jeff Olson
900e446015
std: import/export cleanup in net_tcp
2012-06-29 15:41:54 -07:00
Jeff Olson
79e279ee12
std: kludge export of net_ip in std.rc until submodule export is sorted
2012-06-29 15:41:54 -07:00
Ben Blum
af2d01e36b
Fix sys::refcount and remove dbg::refcount
2012-06-28 14:40:31 -04:00
Eric Holk
0b84437b68
Replace more vector additions (issue #2719 )
2012-06-27 22:49:05 -07:00
Michael Sullivan
df9b43e27c
Add an overloaded [] function to the map interface. Closes #2730 .
2012-06-27 16:35:05 -07:00
Graydon Hoare
697f1e38d6
Change 'native' and 'crust' to 'extern'.
...
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.
What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Patrick Walton
d4672a078e
libstd: Work around some metadata infelicities that are causing problems in resolve3, and remove an unused glob
...
Conflicts:
src/libstd/net_tcp.rs
src/libstd/par.rs
2012-06-26 14:37:29 -07:00
Eric Holk
ccd2394ff9
perf: improved the core-std benchmark
2012-06-26 14:08:16 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -07:00
Eric Holk
b19c98ea9a
Some perf fixes, although vec::slice is still too slow (Issue #2719 )
2012-06-25 16:38:12 -07:00
Tim Chevalier
da470ff5b8
Merge
2012-06-25 13:29:41 -07:00
Eric Holk
07e1d1c6b6
Improved graph500 performance (Issue #2719 )
2012-06-25 11:15:45 -07:00
Brian Anderson
2f060eb880
core: Name is_failure to is_err, is_success to is_ok
2012-06-22 18:26:25 -07:00
Tim Chevalier
21399dca12
Change resources to classes in libstd and rustc
2012-06-22 11:53:25 -07:00
Graydon Hoare
312faf31df
Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.
2012-06-21 16:44:10 -07:00
Eric Holk
9bdb2c9e48
Library vecs are fast now.
2012-06-21 16:11:11 -07:00
Eric Holk
0e5cfd9f33
Move vector addition out of trans and into libcore.
2012-06-21 16:11:11 -07:00
Tim Chevalier
1b4dcbecac
Comments only: typos
2012-06-20 20:12:14 -07:00
Brian Anderson
4dcf84e4f4
Remove bind. Issue #2189
2012-06-20 17:27:28 -07:00
Eric Holk
be664ddd29
Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion.
2012-06-19 10:31:12 -07:00
Brian Anderson
8967a66724
std: Use the singular 'test' when running just 1. Closes #2554
2012-06-18 15:52:53 -07:00
Tim Chevalier
0276a3376b
Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
...
This reverts commit 015527b0ce
.
2012-06-16 15:21:08 -07:00
Eric Holk
015527b0ce
Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion.
2012-06-15 22:00:58 -04:00
Tim Chevalier
bc507c4ef5
Remove unneeded spawn in std::timer, and annotate a FIXME
2012-06-14 19:09:02 -07:00
Tim Chevalier
6b16325f43
Comments only: annotate FIXMEs
2012-06-14 18:46:33 -07:00
Brian Anderson
1db8515c08
Merge remote-tracking branch 'erickt/master' into incoming
2012-06-13 12:03:13 -07:00
Brian Anderson
ce750a7dbc
Box AST idents
2012-06-13 11:30:45 -07:00
Erick Tryzelaar
11a56c3e91
Add a couple more to_json impls.
2012-06-13 08:30:54 -07:00
Erick Tryzelaar
b361f6c288
Fix json no-implicit-copy warnings
2012-06-12 18:10:19 -07:00
Erick Tryzelaar
2cc0a0e19c
std: Remove copy from all the hashmap key type params
2012-06-12 18:10:19 -07:00
Erick Tryzelaar
01118be818
whitespace cleanup
2012-06-12 18:10:19 -07:00
Erick Tryzelaar
48e877a435
Rewrite int/uint helper functions to use refs
...
This lets us pass them to generic functions.
2012-06-12 18:10:19 -07:00
Erick Tryzelaar
a816176eb5
std: Add a to_str impl for json::error.
2012-06-12 18:10:18 -07:00
Lindsey Kuper
d8d76738ec
std: Typo fix in docs.
2012-06-08 15:02:50 -07:00
Niko Matsakis
9105cb6d5d
revise map interface so that K need not be copyable
2012-06-08 14:35:11 -07:00
Brian Anderson
7a74545e97
Convert reinterpret_cast + forget to 'transmute'
2012-06-08 10:58:46 -07:00
Brian Anderson
95b9d538b8
Use #[cfg(unix)] and #[cfg(windows)] everywhere
2012-06-07 22:28:00 -07:00
Patrick Walton
7571ee85c4
Merge branch 'incoming'
2012-06-07 18:50:42 -07:00
Patrick Walton
d8b113f209
std: Implement a fuzzy-equal interface
2012-06-07 18:12:50 -07:00
Brian Anderson
c816eea000
std: Add debug::breakpoint
2012-06-06 23:39:55 -07:00
Niko Matsakis
3b4cfdeee2
Merge remote-tracking branch 'mozilla/incoming'
...
Conflicts:
src/rustc/middle/tstate/auxiliary.rs
2012-06-06 19:00:34 -07:00
Niko Matsakis
c3b266f50f
Rewrite deque to use dvec
2012-06-06 18:36:59 -07:00
Niko Matsakis
60913bf045
constrain scope of mut ptr to please borrowck
2012-06-06 18:36:27 -07:00
Tim Chevalier
a6c92f0a17
Revert "Revert "Merge pull request #2516 from mozilla/incoming" due to failures"
...
This reverts commit 9fae95860de510f6874810cf43efb83f101246ef.
2012-06-06 15:08:24 -07:00
Michael Sullivan
6396e2c3c3
Make vecs implicitly copyable for all of our projects.
2012-06-04 19:53:30 -07:00
Eric Holk
1e8f501343
Machine types are different from int/uint, etc (Issue #2187 )
2012-06-04 19:16:47 -07:00
Michael Sullivan
6d9dd055d1
Get rid of warnings from instantiating typarams with non-implicitly copyable types.
2012-06-04 16:35:32 -07:00
Niko Matsakis
01b5777c8b
prohibit type parameters in native fns and other minor fixes
...
trans now can safely assert that it never sees a type param
2012-06-03 20:03:08 -07:00
Niko Matsakis
3f6e6532ac
make vec fns/methods take imm slices.
...
this also repairs the unsoundness in typing of unpack_slice,
which was silently converting a const ptr to an imm one.
2012-06-02 19:14:57 -07:00
Niko Matsakis
dd8f76c619
squelch warnings in tests
2012-06-01 11:10:27 -07:00
Graydon Hoare
574b3e81e6
Add some convenience helpers to getopts. Close #1837 .
2012-05-31 17:02:03 -07:00
Eric Holk
3acc3c4d85
Make std::map require const keys.
2012-05-31 13:55:54 -07:00
Graydon Hoare
6ef458252b
Some fixes to bitv. Close #2342 .
2012-05-31 11:38:05 -07:00
Eric Holk
ad292a8c73
Add xorshift to core::rand, which gave a 3x speedup for graph generation in the bfs code. Also, remove trailing white space.
2012-05-30 17:39:53 -07:00
Eric Holk
09a32aedb5
Remove warnings in std::par.
2012-05-30 17:39:53 -07:00
Eric Holk
f0c345841c
Added a factory version of par::mapi, which avoids the need for share_arc, and copies arcs between tasks better.
2012-05-30 17:39:53 -07:00
Eric Holk
ccb54f0ce0
Move par into libstd. Closes #2441 .
2012-05-30 12:03:51 -07:00
Eric Holk
6abddca18b
Rewriting shared_arc to work around Issue #2444 .
...
Sadly, this exposes another ICE when trying to use the new version with Graph500
2012-05-30 12:03:51 -07:00
Eric Holk
5e35d49a50
Moving the arc tests into arc.rs.
2012-05-29 11:30:10 -07:00
Eric Holk
aa2efc05ea
Adding shared_arc to hide some of the tedium of sharing an arc between tasks.
...
Also added some asserts and logging to trans.
Modified graph500 to use the shared_arc, but this unfortunately doesn't work due to #2444 .
2012-05-29 10:43:19 -07:00
Erick Tryzelaar
ed5af70a36
std: add json::to_str and json::to_json iface.
2012-05-28 12:14:41 -07:00
Benjamin Kircher
360194d282
std: Fix bitv each() method (issue 2363)
2012-05-27 22:08:48 +02:00
Brian Anderson
432c6cbde9
core: Make range follow the for loop protocol
2012-05-26 02:28:00 -07:00
Michael Sullivan
8668d06400
Get rid of many implicit copies as a preliminary to Issue #2448 .
2012-05-25 16:39:35 -07:00
Brian Anderson
d89b4c8c61
std: Modify arc to tolerate upcoming change to uniques
2012-05-25 16:22:29 -07:00
Brian Anderson
7c2e981381
std: Don't export get_monitor_task_gl
2012-05-25 11:03:32 -07:00
Brian Anderson
78b664fead
std: More iotask cleanup
2012-05-25 11:03:31 -07:00
Brian Anderson
937ef188e3
std: Remove unused iotask field active
2012-05-25 11:03:31 -07:00
Brian Anderson
81b8e20f31
std: Rename uv::hl to uv::iotask. Additional cleanup
2012-05-25 11:03:29 -07:00
Brian Anderson
59262dfc62
std: Move spawn_high_level_loop to uv::hl
2012-05-24 22:52:51 -07:00
Brian Anderson
d4db1beabf
std: Separate weakening the I/O task from spawning it
2012-05-24 22:26:30 -07:00
Brian Anderson
95898b4cfc
std: Simplify run_high_level_loop further
2012-05-24 22:05:31 -07:00
Brian Anderson
623acaa013
std: Remove unused args from run_high_level_loop
2012-05-24 21:50:35 -07:00
Brian Anderson
444ff687a2
std: Move loop creation into run_high_level_loop
2012-05-24 21:50:35 -07:00
Brian Anderson
2a82a9907f
std: Clean up uv_global_loop
2012-05-24 21:50:33 -07:00
Brian Anderson
26ed1e91c8
std: Rename spawn_libuv_weak_task to spawn_high_level_loop
2012-05-24 21:03:30 -07:00