Brian Anderson
52f015aceb
core: Cleanup warnings
2013-05-14 14:52:07 -07:00
Brian Anderson
4472a50ceb
rtdebug off
2013-05-14 14:52:07 -07:00
Brian Anderson
101aaa3861
core::rt: 0 is a valid TLS key
2013-05-14 14:52:06 -07:00
Brian Anderson
d234cf7e44
core::rt: Make TCP servers work
2013-05-14 14:52:06 -07:00
Brian Anderson
414f3c7d25
core::rt: Add a simple channel type for passing buffered messages between Scheduler and Task
...
Called 'Tube' for lack of anything better.
2013-05-14 14:52:06 -07:00
Brian Anderson
40a9de5ebc
core::rt: Add a very simple ref counted pointer
2013-05-14 14:52:06 -07:00
Brian Anderson
936fce5515
Warnings
2013-05-14 14:52:06 -07:00
Brian Anderson
272c3c2cfb
Tidy
2013-05-14 14:52:06 -07:00
Brian Anderson
10355d7a7d
core::rt Wire up logging to newsched tasks
2013-05-14 14:52:06 -07:00
Brian Anderson
ad6719ee0b
core::rt: Just a small fix to TcpStream
2013-05-14 14:52:06 -07:00
Brian Anderson
a134503d74
core::rt: Move all the uv callback definitions to one place
2013-05-14 14:52:06 -07:00
Brian Anderson
dbf89664aa
core::rt: Move the implementation of IdleWatcher to its own file
2013-05-14 14:52:06 -07:00
Brian Anderson
9138feab15
core::rt: Only use one mechanism for attaching custom data to uv handles
2013-05-14 14:52:06 -07:00
Brian Anderson
91ca3a9b29
core::rt: Reording code
2013-05-14 14:52:05 -07:00
Brian Anderson
6ab02c03da
core::rt: Convert some uv functions to extension methods
2013-05-14 14:52:05 -07:00
Brian Anderson
cfd183db15
core::rt: Fix some copies in uv
2013-05-14 14:52:05 -07:00
Brian Anderson
b771c99304
core::rt: Fix the finalizer on UvTcpStream and UvTcpListener
...
Eliminates a lot of calls to `close`
2013-05-14 14:52:05 -07:00
Brian Anderson
01b7b7d5a0
core::rt: Use unsafe pointers instead of transmuted regions
2013-05-14 14:52:02 -07:00
Brian Anderson
ab284d44d8
core::rt Restructure some modules
...
Put all uv code under rt::uv, as if it were in its own crate.
Pull local_sched out of rt::sched.
2013-05-13 14:24:10 -07:00
Brian Anderson
23bf892ae5
core::rt: Improve docs
2013-05-13 14:24:10 -07:00
Brian Anderson
93ca5ebccb
core::rt: Clean up the interface to rtio
...
Make names that better match rt::io. Return error types.
2013-05-13 14:24:10 -07:00
Brian Anderson
b2fbd34603
core::rt: Begin implementing TcpStream
...
This ended up touching a lot of code related to error handling.
2013-05-13 14:24:10 -07:00
Brian Anderson
0b4d4edf8b
core::rt: Fix a warning about unnecessary mutable variable
2013-05-13 14:24:10 -07:00
Brian Anderson
34be071353
core::rt: Remove Close trait
...
We will just use RAII for now.
2013-05-13 14:24:10 -07:00
bors
3abc5b3ffb
auto merge of #6417 : pcwalton/rust/exprs-in-patterns, r=pcwalton
...
r? @graydon
2013-05-13 13:25:42 -07:00
bors
1bf2f68bb2
auto merge of #6437 : Thiez/rust/atomic, r=Aatch
...
This pull request adds 4 atomic intrinsics to the compiler, in preparation for #5042 .
* `atomic_load(src: &int) -> int` performs an atomic sequentially consistent load.
* `atomic_load_acq(src: &int) -> int` performs an atomic acquiring load.
* `atomic_store(dst: &mut int, val: int)` performs an atomic sequentially consistent store.
* `atomic_store_rel(dst: &mut int, val: int)` performs an atomic releasing store.
For more information about the whole acquire/release thing: http://llvm.org/docs/Atomics.html
r?
2013-05-13 05:04:41 -07:00
Matthijs Hofstra
852af346d3
Tidy
2013-05-13 13:33:34 +02:00
Patrick Walton
58a37a1f48
libstd: Fix merge fallout.
2013-05-12 17:36:53 -07:00
Patrick Walton
db0693ac8d
libsyntax: Tighten up expressions in patterns to only allow identifiers or literals (possibly with a minus).
...
This had very minimal fallout.
2013-05-12 16:35:19 -07:00
Patrick Walton
5d3559e645
librustc: Make self
and static
into keywords
2013-05-12 16:35:18 -07:00
Patrick Walton
06ef889cdc
libsyntax: Remove extern mod foo { ... }
from the language.
2013-05-12 16:33:15 -07:00
bors
8d1a09c810
auto merge of #6348 : sstewartgallus/rust/incoming, r=brson
...
In this commit I added a useful utility type, named Void, that encapsulates the
doable but annoying job of creating an uninhabited type. As well, a function on
that type, named absurd, was created which is useful for ignoring the result of
matching on that type. No unit tests were created because it is not possible to
create an instance of this type to test the usage of.
This type is useful because it is like NonCopyable in that it can be used to
create a type with special characteristics without special bloat. For instance,
instead of typing pub struct PhantomType { priv contents : () } for each void
type one may want to use one can simply type pub struct PhantomType (Void);.
This type make such special cases much easier to write.
2013-05-12 16:07:40 -07:00
bors
830b945a9d
auto merge of #6439 : bjz/rust/float-classify, r=brson
2013-05-12 15:07:42 -07:00
Brendan Zabarauskas
4f8084a363
Make Float::classify matching more clear for f64 and f32
2013-05-13 07:57:27 +10:00
Matthijs Hofstra
a9f2132606
Adds atomic_load, atomic_load_acq, atomic_store, and atomic_store_rel intrinsics.
...
The default versions (atomic_load and atomic_store) are sequentially consistent.
The atomic_load_acq intrinsic acquires as described in [1].
The atomic_store_rel intrinsic releases as described in [1].
[1]: http://llvm.org/docs/Atomics.html
2013-05-12 23:23:40 +02:00
bors
7dc94b8768
auto merge of #6414 : samebchase/rust/experimental, r=graydon
...
Implemented to_str() for HashMap and HashSet
Added tests.
Minor formatting and stylistic cleanups.
2013-05-12 13:04:34 -07:00
Samuel Chase
0acb6abb86
Add use declaration for container::Set
...
All tests pass now.
2013-05-12 21:02:12 +05:30
bors
1f62b23411
auto merge of #6431 : catamorphism/rust/warnings, r=catamorphism
...
Just cleaning up warnings.
2013-05-11 21:28:37 -07:00
Corey Richardson
a279d65102
clean up the last bit of warnings
2013-05-11 20:36:47 -07:00
Tim Chevalier
ed41864464
Warning police
2013-05-11 20:36:44 -07:00
bors
35e6ce548f
auto merge of #6426 : gifnksm/rust/new-iter, r=catamorphism
2013-05-11 20:34:40 -07:00
bors
f2f10bdc7a
auto merge of #6420 : huonw/rust/rm-exec, r=thestinger
2013-05-11 18:49:41 -07:00
gifnksm
82f963e347
libcore: Change each_val
to follow new for-loop protocol
2013-05-12 08:06:31 +09:00
bors
957251817b
auto merge of #6389 : sonwow/rust/issue-3356, r=bstrie
...
Fix for #3356
2013-05-11 12:55:49 -07:00
Samuel Chase
37bea2a7d0
Fix errors in test_hashset().
...
All tests now pass.
2013-05-11 20:35:44 +05:30
Samuel Chase
7d43b12c32
Use acc.push_str() instead of str::push_str(..)
...
Also added some whitespace to enhance readabilty.
2013-05-11 19:31:53 +05:30
Samuel Chase
9ed9e8c8d0
Add test: test_hashset()
2013-05-11 19:25:14 +05:30
Samuel Chase
e2c73ccaf2
Add str representation for HashSet.
2013-05-11 19:18:14 +05:30
Samuel Chase
b8d0ebe124
Remove extra space between key and value.
...
1. Extra space removed.
2. Using acc.push_str() instead of str::push_str
3. Update test to reflect representation change.
2013-05-11 19:09:11 +05:30
Samuel Chase
3c1e787884
All tests, including newly added test_hashmap() pass. The empty Hash Table doesn't need to be mutable.
2013-05-11 17:40:52 +05:30