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
8794815da9
rt: get rid of unused helpers for AF_INET and add bool-based ones, instead
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
61cc8a07f8
rt: whitespace cleanup in rust_uv
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
bcc341f5fb
rt: adding uv_freeaddrinfo binding and tweek signature for uv_getaddrinfo
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
cac2a04667
fix typo in rustrt.def.in
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
237589b3c0
rt: more helper functions to get uv_getaddrinfo going
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
2ef9548f2c
rt: more sizeof helpers + misc consts for uv_getaddrinfo
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
511873afe3
rt: add remaining ip string parser/formatter helpers from uv
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
099d080233
core: adding str::as_slice .. most likely broken
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
5ec68ac482
core: export vec::unshift
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
Michael Sullivan
e9b4336bfd
Register snapshots.
2012-06-29 15:33:52 -07:00
Michael Sullivan
a3c7d93c77
Get rid of basically all of the remaining old style vecs in tests.
2012-06-29 15:08:12 -07:00
Michael Sullivan
3bf5fef0e5
Refactor syntax exts some. Don't ever emit bare vectors.
2012-06-29 14:38:33 -07:00
Michael Sullivan
7aa43b2599
Make fmt use a bitmask instead of a vector of flags. Closes #1993 .
2012-06-28 23:36:00 -07:00
Michael Sullivan
498b3ff57f
Register snapshots.
2012-06-28 22:55:44 -07:00
Ben Blum
d7823de5e2
update rust.vim to hilight foo::bar and more
2012-06-28 21:11:54 -04:00
Michael Sullivan
e7760470b4
Make a bunch of tests stop using the deprecated vector syntax.
2012-06-28 17:33:15 -07:00
Eric Holk
c9e8b7de82
Merge branch 'master' of github.com:mozilla/rust into incoming
2012-06-28 17:30:36 -07:00
Michael Sullivan
810677efb5
Parse ~[...] as [...]/~. Same for @ and &. Closes #2747 .
2012-06-28 17:10:06 -07:00
Ben Blum
b6f103e7f9
Fix rt-sched-1.rs (broke in 6fc730b
)
2012-06-28 19:46:57 -04:00
Michael Sullivan
e9382ef1ac
Have #fmt use str::concat to build up the string instead of using binary +. Closes #2746 .
2012-06-28 16:30:05 -07:00
Ben Blum
b2b498183a
Add test case for issue #2734 (xfailed)
2012-06-28 19:26:12 -04:00
Ben Blum
6fc730baf6
Cleanup failure handling around rust_new_task_in_sched - closes #2668
2012-06-28 19:02:48 -04:00
Michael Sullivan
d91e310982
Don't use literal info from the original source when pretty printing expanded ASTs.
2012-06-28 15:33:15 -07:00
Ben Blum
571d866c0d
Update vim mode for asserts and #[attributes]
2012-06-28 18:11:54 -04:00
Eric Holk
87eaf91be3
Replaced almost all vector+ in rustc ( #2719 )
...
Didn't update shape because the changes were causing segfaults.
2012-06-28 15:11:09 -07:00
Ben Blum
54713afa20
add TLS failure test case in task.rs
2012-06-28 17:45:48 -04:00
Eric Holk
59221e9ac8
replace more vector + (issue #2719 )
2012-06-28 13:52:23 -07:00
Ben Blum
58a39d1ca3
Fix alt-pattern-drop's breakage from af2d01e
2012-06-28 15:59:43 -04:00
Ben Blum
ae7b0ac390
move reset_stack_limit off C stack ( closes #2679 )
2012-06-28 14:53:21 -04:00
Ben Blum
af2d01e36b
Fix sys::refcount and remove dbg::refcount
2012-06-28 14:40:31 -04:00
Tim Chevalier
ad8280712f
Remove FIXME question
...
brson said the answer to the question is probably no... so I'm
going to be bold and remove this.
Closes #2685
2012-06-28 10:53:37 -07:00
Tim Chevalier
c79b76d499
Remove obsolete FIXME
...
brson said it's obsolete and I trust him.
Closes #2695
2012-06-28 10:51:14 -07:00
Michael Sullivan
0a00b32bb3
Get rid of some spurious /~s in rustdoc. Oops.
2012-06-28 10:42:19 -07:00
Eric Holk
ae06546bbf
Replace more vector + (issue #2719 )
2012-06-27 23:09:51 -07:00
Eric Holk
0b84437b68
Replace more vector additions (issue #2719 )
2012-06-27 22:49:05 -07:00
Eric Holk
61b1875c16
make core-std respect RUST_BENCH
2012-06-27 22:30:08 -07:00
Brian Anderson
6f57c61ed0
Tidy fixes
2012-06-27 22:03:12 -07:00
Ben Blum
1ff6f9b876
Add task-local storage in libcore.
2012-06-28 00:10:09 -04:00
Ben Blum
1ba3028d8b
rt: Add task_local_data and related builtin calls ( Closes #2680 )
2012-06-28 00:10:03 -04:00
Ben Blum
e56ba156e2
Add position() to iter/iter-trait
2012-06-28 00:02:16 -04:00
Brian Anderson
9f7e62ea20
rustc: Fix a missing application of the operator in fold_ty
2012-06-27 20:11:59 -07:00
Michael Sullivan
fa3aa64b91
Oops. Actually fix that problem.
2012-06-27 20:08:39 -07:00
Michael Sullivan
8bb3a01e5c
Add in missing [] methods to some tests.
2012-06-27 19:58:08 -07:00
Michael Sullivan
df9b43e27c
Add an overloaded [] function to the map interface. Closes #2730 .
2012-06-27 16:35:05 -07:00
Eric Holk
0c42a3ffee
vec::append reuses its left hand side when possible. (issue #2719 )
2012-06-27 16:19:49 -07:00
Michael Sullivan
3297d465ca
Have the syntax extension ast builders reserve the extra node ids required for overloading. Closes #2732 .
2012-06-27 16:19:10 -07:00
Patrick Walton
143c7a3d96
syntax: Don't use an enum name as a variable name
2012-06-27 16:17:36 -07:00
Eric Holk
c3b98cabe1
Removed pretty much all the vector+ from core (issue #2719 )
2012-06-27 15:22:06 -07:00
Patrick Walton
c1157161d9
rustc: Don't give variables the same name as enums in trans
...
Conflicts:
src/rustc/middle/trans/alt.rs
src/rustc/middle/trans/base.rs
src/rustc/middle/trans/closure.rs
src/rustc/middle/trans/impl.rs
src/rustc/middle/trans/uniq.rs
2012-06-27 14:11:02 -07:00
Patrick Walton
6cf5910de2
rustc: Don't allow multiple candidate methods from impls with the same def ID
2012-06-27 14:11:02 -07:00
Graydon Hoare
576f59a79b
Change 'upcall fail' to 'task failed at', close #2678 .
2012-06-27 13:30:49 -07:00
Graydon Hoare
d3c6119a7a
More keyword paring and migration in runtime, docs, code modes.
2012-06-27 13:30:49 -07:00
Lindsey Kuper
f0565be49a
Better error message instead of bare "fail" in infer
2012-06-27 12:37:50 -07:00
Eric Holk
133fdc1148
Remove unnecessary bounds checks in vec::push_all (issue #2719 )
...
Don't needlessly drop closures (issue #2603 )
2012-06-27 11:32:22 -07:00
Eric Holk
404afcbb41
Mark exclusive arc-related functions as unsafe. Fixes #2727 .
2012-06-27 10:24:51 -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
999b567e2a
rustdoc: Work around some more metadata infelicities
2012-06-26 14:39:49 -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
Eric Holk
a08281616f
More perf tweaks (issue #2719 )
2012-06-26 14:08:16 -07:00
Michael Sullivan
51468b65a4
Properly cleanup slice literals. Closes #2705 .
2012-06-26 14:05:43 -07:00
Michael Sullivan
f17ca3f73e
Some box cleanup that doesn't break the build.
2012-06-26 13:58:21 -07:00
Patrick Walton
6413421c8c
core: make_a_sandwitch -> make_a_sandwich
2012-06-26 13:55:33 -07:00
Patrick Walton
481267299d
rustc: Make trans no longer insist that there be exactly one impl scope per module
...
Conflicts:
src/rustc/middle/trans/base.rs
2012-06-26 13:45:18 -07:00
Brian Anderson
1228c55ef0
Register snapshots
2012-06-26 13:42:35 -07:00
Michael Sullivan
f85fbcb67f
Revert "Clean up a bunch of box related code."
...
This reverts commit bacf9e9887
.
2012-06-26 12:58:58 -07:00
Tim Chevalier
6141f5ce5a
Fix shape::cmp::walk_res2
2012-06-26 11:14:39 -07:00
Tim Chevalier
91e44ea056
Be a little more clever about calculating sizes for class types
...
We could try to calculate the size of a partially-converted class type,
and run into an LLVM error because we were trying to calculate the size
of a named struct whose fields hadn't yet be filled in. The issue can be
dodged by extending simplify_type to convert classes to isomorphic
structural records, just for the purposes of size calculations.
(for real this time) Closes #2718
2012-06-26 11:14:39 -07:00
Tim Chevalier
cf69604551
Incorporate class fields into recursive-type check
...
Noticed while investigating issue 2718 that the typechecker allowed
some non-instantiable types involving classes. This wasn't the root of
2718, but fixed it anyway.
2012-06-26 11:14:39 -07:00
Tim Chevalier
d513d9893e
Typos in a comment and an error message
2012-06-26 11:14:38 -07:00
Michael Sullivan
bacf9e9887
Clean up a bunch of box related code.
2012-06-26 10:03:10 -07:00
Eric Holk
b9d3ad0736
Getting rid of lots more vector +=. (issue #2719 )
2012-06-26 00:39:18 -07:00
Brian Anderson
007b9d9acd
Update combine-tests.py for new vec syntax
2012-06-25 21:38:27 -07:00
Michael Sullivan
15b60ac56b
Comments only: fix some comments that got spurious /~s
2012-06-25 20:35:32 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -07:00
Michael Sullivan
c087aaf56b
When we cons up vector asts, generate evecs.
2012-06-25 20:00:39 -07:00
Michael Sullivan
a71a49faa8
Split deprecated str and vec warnings into two flags, enable old_vecs by default.
2012-06-25 19:29:27 -07:00
Michael Sullivan
1c5e2cacef
Comment out the *right* part of the test failing due to issue #2724 .
2012-06-25 19:28:27 -07:00
Michael Sullivan
fb018fa50b
Comment out a failing part of a test; this is Issue #2724 .
2012-06-25 19:00:35 -07:00
Paul Stansifer
4df2654f82
Make it possible to make built-in tt syntax extensions
2012-06-25 18:01:37 -07:00
Paul Stansifer
4f104954a6
parsing for the macro system
2012-06-25 18:01:37 -07:00
Patrick Walton
650dfe58a3
test: Make zip-same-length no longer rely on resolve not handling shadowed modules properly
2012-06-25 17:55:24 -07:00
Brian Anderson
c2751c5640
rustc: Make 'do' work with effects the same as 'for'
2012-06-25 17:46:06 -07:00
Tim Chevalier
8ed9701591
Remove test case that doesn't work on its own
...
I don't actually know how to test --ls
2012-06-25 17:26:26 -07:00
Tim Chevalier
f1acc69a2a
Add class fields to the global index
...
Closes #2192
2012-06-25 17:25:54 -07:00
Eric Holk
b837f37d40
vec::slice is faster now (Issue #2719 )
2012-06-25 17:08:06 -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
Brian Anderson
7adad4c6cb
rt: Fix exports
2012-06-25 16:30:42 -07:00
Brian Anderson
d29e8fc059
rt: Remove upcall_malloc/upcall_exchange_malloc. Issue #2681
2012-06-25 16:01:47 -07:00
Brian Anderson
3d0826b5fc
rt: Remove lock_free_queue. Unused. Issue #2701
2012-06-25 15:39:59 -07:00
Patrick Walton
216105fc55
test: Remove the import-glob-circular test since the name resolution semantics it depends on are probably undecidable
2012-06-25 15:30:38 -07:00
Patrick Walton
9386c2db33
test: Swap the order of two imports in import7 to eliminate another cycle
2012-06-25 15:14:28 -07:00
Patrick Walton
d8410c7578
test: Swap the order of two imports in import6 to eliminate a cycle
2012-06-25 15:12:50 -07:00
Brian Anderson
7e6cbf7431
Remove redundant 'extension' mods from numeric mods
2012-06-25 14:25:48 -07:00
Ben Striegel
43a48ca5bb
Automatically export methods on core numeric types
...
Each numeric type now contains an extensions module that is automatically
exported. At the moment each extensions module contains only the impl for the
`num::num` iface. Other impls soon to follow (hopefully).
2012-06-25 14:25:48 -07:00
Tim Chevalier
6517fc5ab6
Merge branch 'incoming' into resource-to-class
2012-06-25 13:41:49 -07:00
Tim Chevalier
da470ff5b8
Merge
2012-06-25 13:29:41 -07:00
Tim Chevalier
44d0a061be
register snapshots
2012-06-25 13:29:10 -07:00
Tim Chevalier
fe9bbeca1a
Add test cases for issue 2445
2012-06-25 13:18:43 -07:00
Brian Anderson
fad307d7b4
core: Convert declarations to not use the trailing 'unsafe' notation
2012-06-25 12:48:39 -07:00
Tim Chevalier
91b69aeb63
Test case for issue 2718
...
This was already fixed by the time I read the issue, but more test
cases are always good.
Closes #2718
2012-06-25 12:21:01 -07:00
Tim Chevalier
e9f19283b3
Remove resources from a few places I missed
2012-06-25 12:20:51 -07:00
Tim Chevalier
25b8b35c57
Finish compare glue for classes
...
This tests == and !=. I don't know what <, >, etc. should do.
Closes #2601
2012-06-25 12:20:10 -07:00
Eric Holk
3ba7ca5c9f
Improved perf for msgsend (Issue #2719 )
2012-06-25 11:27:32 -07:00
Eric Holk
07e1d1c6b6
Improved graph500 performance (Issue #2719 )
2012-06-25 11:15:45 -07:00
Brian Anderson
e991855d66
Make 'do' expressions accept stack closures
2012-06-24 18:01:27 -07:00
Brian Anderson
c01f5ef034
Long lines
2012-06-24 17:46:12 -07:00
Brian Anderson
20b5ca3d2f
syntax: Merge parse_for_expr, parse_do_expr
2012-06-24 17:08:05 -07:00
Tim Chevalier
bf92940f72
More test cases for classes with dtors
...
Tests that classes with dtors and multiple fields work correctly.
Closes #2708
2012-06-24 15:11:25 -07:00
Tim Chevalier
487cbf8e90
Remove resources
...
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.
Closes #2485
2012-06-24 15:09:57 -07:00
Graydon Hoare
f60cdf27e7
Remove 'implements' keyword in favour of :, part of #2301 .
2012-06-22 18:57:20 -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
Brian Anderson
58983b2d92
core: Export result extensions from the top level
2012-06-22 17:33:53 -07:00
Brian Anderson
0cf730ed2a
core: Split up result extensions by kind bounds
2012-06-22 17:32:57 -07:00
Lindsey Kuper
ce7b803728
Minor capitalization/punctuation fixes in error messages
2012-06-22 16:48:03 -07:00
Lindsey Kuper
46809f7ab7
Nicer quoting in "attempted access of field" message. Issue #2358 .
2012-06-22 16:48:03 -07:00
Lindsey Kuper
47b1b7a207
Don't need a span on "main function not found" error. Issue #2707 .
2012-06-22 16:48:03 -07:00
Eric Holk
5cf99e02b5
Adding unshift again.
2012-06-22 16:31:57 -07:00
Eric Holk
3246723bf7
Adding an issue number to vec-add.rs
2012-06-22 15:35:06 -07:00
Eric Holk
26c11f7b50
Use must_have_lock instead of private functions. (Issue #2700 )
...
I hereby declare that messages sent from the same source arrive in order (Issue #2605 )
Removing FIXME, owned is the correct type here. (Issue #2704 )
Remove outdated FIXME (Issue #2703 )
Updating test for spawning native functions (Issue #2602 )
Removing bogus FIXME (Issue #2599 )
2012-06-22 15:14:42 -07:00
Michael Sullivan
1d6fb24b70
Hack to make [] and []/~ the same type in preparation for switching to []/~.
2012-06-22 15:11:34 -07:00
Tim Chevalier
588c1eb41f
Remove resources from remaining test cases
2012-06-22 13:11:29 -07:00