Commit graph

9920 commits

Author SHA1 Message Date
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
Michael Sullivan
275c1e4438 Serialize out uniq vecs types 2012-06-22 11:58:07 -07:00
Tim Chevalier
21399dca12 Change resources to classes in libstd and rustc 2012-06-22 11:53:25 -07:00
Michael Sullivan
986662cebd Make the implicit copyability of []/~ configurable, like [] is, since we will be switching sooner rather than later. 2012-06-22 11:23:54 -07:00
Tim Chevalier
25aa360595 [NEEDS SNAPSHOT] Port remainder of resources to classes in libcore 2012-06-21 22:20:09 -07:00
Tim Chevalier
a141f58e9b In reachability, traverse all classes that have dtors
since dtors always have external linkage
2012-06-21 21:46:12 -07:00
Tim Chevalier
fee78d296c Port resources to classes in libcore 2012-06-21 21:30:16 -07:00
Tim Chevalier
b8710de5ff Add test cases
issue-912 is xfailed. issue-2111 is already fixed, but it's good to
have the test case.
2012-06-21 19:58:52 -07:00