Commit Graph

8686 Commits

Author SHA1 Message Date
Marijn Haverbeke dfdca5d538 Fix broken determination of external method type param count
Closes #2185
2012-04-23 09:25:14 +02:00
Brian Anderson 512927573e syntax: Replace token::DOLLAR_PAREN, DOLLAR_NUM with just DOLLAR
Figure the rest out in the parser
2012-04-22 17:24:49 -07:00
Brian Anderson 7321c17171 syntax: Eliminate token::POUND_LT, POUND_LBRACE
Use lookahead in the parser
2012-04-22 15:19:14 -07:00
Brian Anderson 92b2113583 syntax: Move is_lit to mod token 2012-04-22 14:59:04 -07:00
Brian Anderson fa86b5d67f syntax: Remove unused BRACEQUOTE, IDX, LIT_BOOL tokens 2012-04-22 14:58:10 -07:00
Brian Anderson e3961df78d cargo: Discover crates in subdirectories 2012-04-21 15:46:05 -07:00
Brian Anderson 8688b1b845 core: Add os::walk_dir 2012-04-21 15:45:51 -07:00
Brian Anderson 7235f3cee2 syntax: Eliminate 'mutable' keyword. Closes #2254 2012-04-21 14:27:20 -07:00
Brian Anderson 734494a04d rustc: Cache constant C strings. Closes #2264 2012-04-21 14:26:13 -07:00
Brian Anderson bef5cd8e45 std: Export sort::le 2012-04-21 13:45:20 -07:00
Tim Chevalier 734166f41c Print out return type correctly in typestate error message
In the "not all paths return" error message, typestate was printing
the AST type from the fn decl, not the ty::t type. This ended in tears
when the AST return type was "ty_infer". Now it looks up the function node
ID's type and uses util::ppaux::ty_to_str instead.

Closes #2163.
2012-04-20 18:48:08 -07:00
Graydon Hoare 43061f3969 Add vec::unpack_slice, expose str::unpack_slice. 2012-04-20 17:37:17 -07:00
Graydon Hoare 14d0509691 Log decoded inline_items when debug is active. 2012-04-20 17:18:42 -07:00
Graydon Hoare 355422ddbd Implement tydecode::parse_vstore. 2012-04-20 17:18:42 -07:00
Jeff Olson f855682bed std: ignore tests that use high_level_loop
until race issue with (most likely) refcount scheme is sorted out
2012-04-20 16:46:50 -07:00
Jeff Olson 707391edbc std: add timer::recv_timeout() and whitespace cleanup 2012-04-20 15:23:23 -07:00
Jeff Olson 7ac8c3081c std: add std::timer and timer::delayed_send and timer::sleep
.. leveraging std::uv, we have:
timer::delayed_send - send a value over a provided channel after the
timeout has passed
timer::sleep - block the current task for the specified period

both of these fns (and everything that goes in timer.rs) leverage the
uv_timer_* API
2012-04-20 15:23:23 -07:00
Jeff Olson a1c43cc7c9 std: dump old std::uv API.. move remaining tests into uv::ll 2012-04-20 15:23:23 -07:00
Jeff Olson 791ea3466d std::uv : cleanup and an isolated test for hand-rolled high_level_loops 2012-04-20 15:23:23 -07:00
Jeff Olson e02057c5a5 std: fail if exiting hl_loop has unref_handles at weaken_task exit 2012-04-20 15:23:23 -07:00
Jeff Olson a9db0c9efe whitespace cleanup 2012-04-20 15:23:23 -07:00
Jeff Olson a045e63639 std: get_monitor_task_gl() is global_loop::get() default 2012-04-20 15:23:23 -07:00
Jeff Olson e15f1d5cad std: refactor global_loop::get.. make it reusable 2012-04-20 15:23:23 -07:00
Jeff Olson afb35f752f fix uv_timer_t size in 32bit linux and windows
.. fixes issue, in previous commit, with global loop test hanging on
32bit linux (this was because the struct was too small, so (presumably),
the data member was garbled.. yippy)
2012-04-20 15:23:23 -07:00
Jeff Olson bea02ee351 adding missing binding to rustrt.def.in 2012-04-20 15:23:22 -07:00
Jeff Olson 83ae83c3b3 uv::hl::get_global_loop() -> uv::global_loop::get()
- moved global loop tests, as well.. will add tests in uv_hl that encompass
rolling your own high_level_loop via uv::hl::run_high_level_loop()
- also whitespace cleanups and misc warning cleanup..
- doesn't work on 32bit linux
2012-04-20 15:23:22 -07:00
Jeff Olson 253fad7788 replace impl of globa_async_handle with one using atomic compare-and-swap 2012-04-20 15:23:22 -07:00
Jeff Olson d7a87aa0a1 remove rustrt.def.in entry for no-longer-existent c++ function 2012-04-20 15:23:22 -07:00
Jeff Olson 728f92604a fix a race in global loop test; unref_handle now takes a close_cb 2012-04-20 15:23:22 -07:00
Jeff Olson 9a5d1974dc don't use ::malloc for initializing the global_async_handle in rust_kernel 2012-04-20 15:23:22 -07:00
Jeff Olson f21d25b54c make weak task that runs libuv loop unsupervised 2012-04-20 15:23:22 -07:00
Jeff Olson e0f110aa12 clean and trying the global loop test as two separate loop lifetimes..
.. seeing an occasional valgrind/barf spew on some invalid read/writes..
need to investigate further.. i think its related to my poor citizen
conduct, re: pointers stashed in rust_kernel..
2012-04-20 15:23:22 -07:00
Jeff Olson 31ba223c26 end-to-end impl of global loop w/ high-level ref counting.. needs work
- starting/stoping the loop based on client work is functioning, correctly
- the issue appears to be that, when the process is about to exit, the
signal to let weak tasks know that they need to exit isn't getting fired.
2012-04-20 15:23:22 -07:00
Jeff Olson e6f6a8ced4 tweaking rust getter/setters for libuv data to use generics 2012-04-20 15:23:22 -07:00
Jeff Olson 12f2f4c15c rt: whitespace cleanup for existing libuv integration 2012-04-20 15:23:22 -07:00
Jeff Olson e604c15df1 bindings to get/set data field on uv_loop_t* and debug log cleanup 2012-04-20 15:23:21 -07:00
Jeff Olson f06362d5bb exporting priv::weaken_task and adding some debug logging 2012-04-20 15:23:21 -07:00
Jeff Olson c6667c06c3 add needed fields for global libuv loop + bindings to manage from rust
adding two pointers fields to rust_kernel :(
.. have to do manual malloc/free for one of the fields, which feels wrong
2012-04-20 15:23:21 -07:00
Jeff Olson bf99a3aa93 adding low-level uv_timer_* stuff to libuv bindings 2012-04-20 15:23:21 -07:00
Jeff Olson 3d004c6df8 making brson's req. cleanups in #2134 plus change printf to LOG in c++ 2012-04-20 15:23:21 -07:00
Brian Anderson 53f5c0c623 rt: Delete some incorrect comments 2012-04-20 14:00:13 -07:00
Brian Anderson 4357e1fd60 rt: Take the weak_task_lock in end_weak_tasks
Don't remember why it's commented out. Probably an oversight.
2012-04-20 13:59:31 -07:00
Graydon Hoare 90f82e171d Get borrowing working on fixed evecs. 2012-04-20 12:11:55 -07:00
Tim Chevalier 37b0549730 Add new syntax for patterns that match the head constructor only
Adds a new kind of pattern C(*) where C is a constructor that may
have any number of fields. This pattern matches any value
constructed with C, without binding names for any of the fields.

Closes #1701.
2012-04-20 00:56:46 -07:00
Brian Anderson 087b12ac29 syntax: Reorganize mod parse 2012-04-19 21:58:45 -07:00
Brian Anderson 7fa7e56341 syntax: Move fn spanned into ast_util 2012-04-19 21:58:45 -07:00
Brian Anderson bcbcbad774 syntax: Extract some functions into mod common 2012-04-19 21:58:45 -07:00
Brian Anderson 628e80d525 syntax: Extract attribute parsing to its own mod 2012-04-19 21:58:45 -07:00
Niko Matsakis 3d6c79109e update syntax to include a slash 2012-04-19 21:01:11 -07:00
Niko Matsakis 3c995fb8f3 make nominal types optionally parameterized by a self region.
Issue #2201.
2012-04-19 21:01:11 -07:00