Commit Graph

17962 Commits

Author SHA1 Message Date
bors 767e3ae86c auto merge of #6434 : alexcrichton/rust/less-implicit-vecs, r=bstrie
This closes #5204 and #6421.

This also removes the `vecs_implicitly_copyable` lint (although now reading #6421, this may not be desired?). If we want to leave it in, it at least removes it from the compiler.
2013-05-14 10:10:54 -07:00
Alex Crichton ffcc680f9c Fix test fallout from removing vecs_implicitly_copyable 2013-05-14 12:25:19 -04:00
Alex Crichton 5614e83e81 Remove vecs_implicitly_copyable from the compiler 2013-05-14 12:25:18 -04:00
Alex Crichton ccfb3ebf03 rusti: Remove #[allow(vecs_implicitly_copyable)] 2013-05-14 12:25:18 -04:00
Alex Crichton 92d39fe4d5 syntax: Remove #[allow(vecs_implicitly_copyable)] 2013-05-14 12:24:43 -04:00
Alex Crichton 2951527528 compiletest: Remove #[allow(vecs_implicitly_copyable)] 2013-05-14 12:24:43 -04:00
Alex Crichton 9f104d4213 rustpkg: Remove #[allow(vecs_implicitly_copyable)] 2013-05-14 12:23:46 -04:00
bors 27c228fad7 auto merge of #6357 : dotdash/rust/fixfmt, r=bstrie
fail!() used to require owned strings but can handle static strings
now. Also, it can pass its arguments to fmt!() on its own, no need for
the caller to call fmt!() itself.
2013-05-14 08:11:01 -07:00
Marvin Löbel 04de8f852c Fix cosmetics for fail!() calls 2013-05-14 16:36:24 +02:00
Björn Steinbrink bdc182cc41 Use static string with fail!() and remove fail!(fmt!())
fail!() used to require owned strings but can handle static strings
now. Also, it can pass its arguments to fmt!() on its own, no need for
the caller to call fmt!() itself.
2013-05-14 16:36:23 +02:00
bors 84745b483f auto merge of #6463 : bjz/rust/numeric-traits, r=thestinger
This is part of the numeric trait reform tracked on issue #4819
2013-05-14 01:55:42 -07:00
bors 5a2f65fb50 auto merge of #6441 : alexcrichton/rust/issue-5531, r=luqmana
Also fix up all the fallout elsewhere throughout core. It's really nice being
able to have the prelude.

I'm not quite sure how resolution works with traits, but it seems to me like the public imports at the top-level of the core crate were leaking into the sub-crates, but that could also be working as intended. Regardless, things compile without the re-exports now.
2013-05-14 00:46:48 -07:00
bors 3aa1122ec2 auto merge of #6461 : thestinger/rust/fix_priority_queue, r=pcwalton
uninit() would result in potentially running a destructor on arbitrary
memory if the Ord implementation throws
2013-05-13 21:31:42 -07:00
bors 62640f5c05 auto merge of #6456 : brson/rust/libuv, r=brson
This includes 26fa6f8 which fixes #6258

@ILyoan I ported your patches forward and confirmed that they build but you should be aware of this upgrade.
2013-05-13 20:28:44 -07:00
Brian Anderson d0da21d4ca Upgrade libuv 2013-05-13 19:29:19 -07:00
Brendan Zabarauskas 3515b4996a Remove unnecessary infinity check 2013-05-14 11:47:44 +10:00
Brendan Zabarauskas 44cb46f7bf Add ldexp and frexp functions 2013-05-14 11:24:55 +10:00
bors 7d81c80c65 auto merge of #6388 : recrack/rust/each2_mut, r=pcwalton
- vec.rs :add 'each2_mut function'
- testsuit : run-pass/vec-each2_mut.rs
2013-05-13 17:40:46 -07:00
Daniel Micay e1a1992276 revert PriorityQueue to using init()
uninit() would result in potentially running a destructor on arbitrary
memory if the Ord implementation throws
2013-05-13 19:46:20 -04:00
Alex Crichton 66e1e51701 Remove re-exports from libcore/core.rc
Also fix up all the fallout elsewhere throughout core. It's really nice being
able to have the prelude.
2013-05-13 18:51:40 -04:00
bors ad5bfd600d auto merge of #6387 : brson/rust/unstable, r=brson
r? @pcwalton

* Move `SharedMutableState`, `LittleLock`, and `Exclusive` from `core::unstable` to `core::unstable::sync`
* Modernize the `SharedMutableState` interface with methods
* Rename `SharedMutableState` to `UnsafeAtomicRcBox` to match `RcBox`.
2013-05-13 14:49:48 -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
Brian Anderson 369231beb4 core: Rename SharedMutableState to UnsafeAtomicRcBox 2013-05-13 12:13:56 -07:00
Brian Anderson fa1d0477ed core: Move locks, atomic rc to unstable::sync 2013-05-13 12:13:56 -07:00
Brian Anderson 4f44624415 core: Move unstable to unstable/mod.rs 2013-05-13 12:13:33 -07:00
Patrick Walton 26a28dac86 test: Fix broken benchmark test 2013-05-13 11:26:15 -07:00
bors 1b883365bc auto merge of #6452 : alexcrichton/rust/fix-deps, r=bstrie
I changed the dependencies of librust in #6438, but I forgot to update the dependencies in the Makefile, this should have the dependencies right now.
2013-05-13 11:10:44 -07:00
Alex Crichton ae07170bd8 Update make dependencies of librust 2013-05-13 13:47:05 -04:00
bors 935b7ba516 auto merge of #6443 : cmr/rust/resolution, r=bstrie
When trying to import nonexistent items from existing modules, specify that
that is what happened, rather than just reporting "unresolved name".

Ideally the error would be reported on the span of the import... but I do not see a way to get a span there. Help appreciated 😄
2013-05-13 09:28:46 -07:00
Patrick Walton 56a1ee8f84 librustdoc: Remove old-style extern mods from rustdoc tests. 2013-05-13 09:23:32 -07:00
Brendan Zabarauskas 8d4d2b00c5 Add inverse hyperbolic functions 2013-05-14 00:11:35 +10: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
bors 2774392b41 auto merge of #6448 : huonw/rust/deriving-doc, r=Aatch
Closes #4916.
2013-05-13 04:10:44 -07:00
Corey Richardson 2210d2d5d5 Use backticks to delineate paths/identifiers 2013-05-13 06:22:32 -04:00
Huon Wilson d43908a3a7 doc: document the #[deriving] attribute.
Closes #4916.
2013-05-13 20:04:03 +10:00
bors 8d4a3d58b7 auto merge of #6447 : luqmana/rust/6446, r=thestinger
#6446
2013-05-13 01:25:43 -07:00
Luqman Aden 103a68b2e7 Correct #[always_inline] -> #[inline(always)] and __attribute((...)) -> __attribute__((...)). 2013-05-13 04:05:34 -04:00
Corey Richardson be82449a9a Better error for some unresolved imports
When trying to import nonexistent items from existing modules, specify that
that is what happened, rather than just reporting "unresolved name".
2013-05-13 01:06:42 -04:00
bors 8a5561bc18 auto merge of #6438 : alexcrichton/rust/issue-5387, r=thestinger
Instead link against the built libraries and directly invoke those.

Closes #5387
2013-05-12 21:58:39 -07:00
Youngmin Yoo 1d1c502dd4 Add vec.rs each2_mut testsuite 2013-05-13 13:55:09 +09:00
Youngmin Yoo 943b9d5dd9 Add vec.rs each2_mut function 2013-05-13 13:55:09 +09:00
bors 8291e36f18 auto merge of #6400 : cmr/rust/remove_useless_import_error, r=thestinger
Every unresolved import is reported. An additional error message isn't useful
and obscures (imo) the real errors: I need to take it into account when
looking at the error count.
2013-05-12 20:22:40 -07:00
Corey Richardson e605536648 actually fix failing test 2013-05-12 22:52:38 -04: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
Matthijs Hofstra fa1a172f9c Removed unnecessary check from build.rs 2013-05-13 00:12:14 +02:00