Commit Graph

17969 Commits

Author SHA1 Message Date
Tim Chevalier
be062db808 testsuite: Update and un-xfail unsafe-fn-autoderef 2013-05-14 12:49:21 -07:00
bors
06c46d5142 auto merge of #6467 : alexcrichton/rust/better-rusti, r=bstrie
These few commits address a few existing issues:

* #5469 - adding regression tests for `rusti`. This adds unit tests to the `rusti.rc` file (which needed some reorganization of the Makefile, see the first commit message). These are super-simple right now, and sadly can't test the output of the tests. I worked for a bit on making a compiletest version of the rusti tests, but I ended up hitting something which blocked me, although I've forgotten it by this point.
* #5937 - regression test added, and it's fixed
* #5803 - just doesn't appear to happen any more
* #5784 - it's no longer broken, and it no longer spits out warnings about unused variables.

I also did some investigation into #5774, and you may want to read the comment I left on the bug. The gist of the situation is that C++ exceptions across JIT code don't look like they're working, even though they [should be working](3aa1122ec2/src/rustllvm/RustWrapper.cpp (L387)). If anyone has any insight on this, that would be awesome!
2013-05-14 11:22:51 -07:00
Alex Crichton
2ab1da5b01 Fix rustpkg tests now that they're in a different location 2013-05-14 14:11:30 -04:00
Alex Crichton
8b87fd7ec0 Don't emit common warnings in rusti 2013-05-14 14:11:29 -04:00
Alex Crichton
9af04f3e77 Add regression tests for various other rusti issues 2013-05-14 14:11:08 -04:00
Alex Crichton
4a9d8ff1a7 Fix use statements with rusti 2013-05-14 14:11:07 -04:00
Alex Crichton
54f2147e8e Get unit tests for rusti working
* They didn't work before, because the location of the tests caused the
  'sysroot' option to crate lookup to be wrong for finding the correct stage's
  core/std libraries. This moves the compiled tests from the $host/test
  directory into a $host/$stage/test directory. This means that the sysroot will
  be correct and the core/std libraries can actually be found
* The LLVM bindings apparently aren't threadsafe, so we can't run multiple tests
  in parallel.
2013-05-14 14:11:07 -04:00
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