Jorge Aparicio
f91d87e6a0
libcollections: fix fallout
2014-12-13 17:03:44 -05:00
Jorge Aparicio
1646d10edc
libcore: use unboxed closures in the fields of Map
2014-12-13 17:03:44 -05:00
Jorge Aparicio
19524f1ed1
libcore: use unboxed closures in Result
methods
2014-12-13 17:03:44 -05:00
Jorge Aparicio
135c4ab5fe
Fix compile fail tests
2014-12-13 17:03:44 -05:00
Jorge Aparicio
60b0dd533b
librustc_trans: fix fallout
2014-12-13 17:03:44 -05:00
Jorge Aparicio
56ecb51ba6
libcore: use unboxed closures in Option
methods
2014-12-13 17:03:44 -05:00
bors
567b90ff09
auto merge of #19582 : nikomatsakis/rust/crateification, r=alexcrichton
...
r? @alexcrichton
2014-12-13 20:02:15 +00:00
bors
2bfb64e525
auto merge of #19627 : steveklabnik/rust/testing_guide, r=cmr
2014-12-13 17:27:15 +00:00
Steve Klabnik
d4ea71dbc1
Revamped testing guide
2014-12-13 12:19:43 -05:00
jbranchaud
1567c94361
Fix a typo in ownership guide, aquire to acquire.
2014-12-13 10:56:19 -06:00
bors
ce05ff5d4b
auto merge of #19695 : arthurtw/rust/master, r=steveklabnik
2014-12-13 15:22:16 +00:00
Corey Farwell
3fc6dc95b4
Expansion should explicitly include enum
...
In preparation for removing the std::cmp::Ordering reexport, this needs
to be done to prevent errors like:
```
note: in expansion of #[deriving]
note: expansion site
error: unresolved name `std::cmp::Equal`
\#[deriving(Clone, PartialEq, PartialOrd, Eq, Ord, Show)]
^~~
```
2014-12-13 09:57:46 -05:00
bors
1eccb54bd6
auto merge of #19685 : jbranchaud/rust/add-btreemap-iter-doctests, r=Gankro
2014-12-13 11:02:17 +00:00
Niko Matsakis
2854d1bfc2
Separate borrowck into its own crate and remove dead code as well.
2014-12-13 06:01:19 -05:00
bors
de64f85c6e
auto merge of #19671 : tbu-/rust/pr_doc_removetraitrefs, r=Gankro
...
This specifically means:
- `Deque`
- `Map`
- `Set`
2014-12-13 08:22:16 +00:00
Valerii Hiora
319c379bac
Add Copy
to bitflags-generated structures
2014-12-13 07:52:00 +02:00
Jonathan S
808eeffee6
Make BTree's Handle system more generic and more powerful, removing some runtine checks in favor of newly gained static safety
2014-12-12 23:26:57 -06:00
Kevin Ballard
d333a91009
vim: Support the new \u{1234} unicode escapes
2014-12-12 21:26:22 -08:00
jbranchaud
58125e5433
Add a doctest for BTreeSet::new.
2014-12-12 22:09:40 -06:00
bors
2d90b91b5d
auto merge of #19683 : nikomatsakis/rust/generalized-where-clauses, r=nrc
...
This patch does not itself enable generalized where clauses, but it lays the groundwork. Rather than storing a list of bounds per type parameter, the trait selection and other logic is now driven by a unified list of predicates. All predicate handling is now driven through a common interface. This also fixes a number of bugs where region predicates were being dropped on the floor. As a drive-by, this patch also fixes some bugs in the opt-out-copy feature flag.
That said, this patch does not change the parser or AST in any way, so we still *generate* the list of predicates by walking a list of bounds (and we still *store* the bounds on the `TypeParameterDef` and so on). Those will get patched in a follow-up.
The commits in this case are standalone; the first few are simple refactorings.
r? @nick29581
cc @aturon
2014-12-13 03:07:17 +00:00
Alex Crichton
9a47d65e3b
rustc: Don't panic on corrupt metadata
...
Fix a panic where the compiler was looking at stale or old metadata.
See #19798 , #19772 , #19757 , #19744 , #19718 , #19691 .
2014-12-12 18:02:01 -08:00
Niko Matsakis
124e1e18cc
Improve comments and address nits.
2014-12-12 20:25:21 -05:00
Niko Matsakis
5f43899db4
Implement the astencode rules for predicates. These don't actually get
...
used by trans, but it's easy to do.
2014-12-12 20:25:21 -05:00
Niko Matsakis
97cf91aa30
Fix the opt-out-copy behavior so that values with dtor etc are considered affine
2014-12-12 20:25:21 -05:00
Niko Matsakis
07eebf6910
Remove diagnostic errors that were yielding warnings.
2014-12-12 20:25:21 -05:00
Niko Matsakis
9f492fefef
Switch to using predicates to drive checking. Correct various tests --
...
in most cases, just the error message changed, but in some cases we
are reporting new errors that OUGHT to have been reported before but
we're overlooked (mostly involving the `'static` bound on `Send`).
2014-12-12 20:25:21 -05:00
Niko Matsakis
2be6c4f1ca
Write code for registering region obligations (but don't use it yet).
2014-12-12 20:24:34 -05:00
Niko Matsakis
9409bd9ff8
Introduce predicates but don't use them.
2014-12-12 20:24:34 -05:00
Niko Matsakis
70be49d2c7
Move the list of region obligations into the fulfillment context.
2014-12-12 20:24:34 -05:00
Niko Matsakis
9bdd7f0040
Thread a id to Obligation
2014-12-12 20:24:34 -05:00
Niko Matsakis
4efaddf7c9
Start restructuring to support generalized where clauses etc.
2014-12-12 20:24:34 -05:00
Tom Jakubowski
31f75ac5c5
metadata: Encode attributes for const items
...
Fix #19773
Together with #19774 (which this is rebased on):
Fix #18156 , fix #19722 , fix #19185
2014-12-12 16:57:59 -08:00
bors
8c66927242
auto merge of #19664 : tbu-/rust/pr_oibit2_fix, r=Gankro
...
These probably happened during the merge of the commit that made `Copy` opt-in.
Also, convert the last occurence of `/**` to `///` in `src/libstd/num/strconv.rs`
2014-12-13 00:27:15 +00:00
Akos Kiss
a28d16a751
libc::c_char is not necessarily i8
2014-12-12 22:41:14 +00:00
Chase Southwood
0a015f287b
Update vim syntax highlighting for ExactSizeIterator
2014-12-12 15:09:26 -06:00
bors
ffc111889e
auto merge of #19569 : murphm8/rust/ring_buf_insert, r=Gankro
...
This is a first pass at insert on RingBuf. I tried to keep it as simple as possible. I'm not sure of the performance implications of doing one copy vs. copying multiple times but moving a smaller amount of memory. I chose to stick with one copy, even if the amount of memory I have to move is larger.
I believe this is part of #18424
@Gankro mentioned this was missing.
2014-12-12 21:07:19 +00:00
Chase Southwood
cd3bdeb91a
Remove feature gate directives for if_let
, while_let
, and tuple_indexing
.
2014-12-12 13:23:54 -06:00
bors
9146a919b6
auto merge of #19391 : nick29581/rust/assoc-eq, r=nikomatsakis
...
r? @nikomatsakis
cc @aturon (I think you were interested in this for some library stuff)
closes #18432
2014-12-12 18:57:15 +00:00
Mike Pedersen
3cc730e1e1
Add Ord impl to raw pointers
2014-12-12 18:44:22 +01:00
Adolfo Ochagavía
8788cb05c2
Add test for issue #19734
2014-12-12 17:40:49 +01:00
Adolfo Ochagavía
b99fb55f0f
Fix #19734 (ICE)
2014-12-12 17:34:28 +01:00
bors
a5921241a3
auto merge of #18028 : gereeter/rust/slimmer-btree-node, r=Gankro
...
...ated buffer.
Before:
test btree::map::bench::find_rand_100 ... bench: 29 ns/iter (+/- 2)
test btree::map::bench::find_rand_10_000 ... bench: 83 ns/iter (+/- 6)
test btree::map::bench::find_seq_100 ... bench: 30 ns/iter (+/- 1)
test btree::map::bench::find_seq_10_000 ... bench: 50 ns/iter (+/- 3)
test btree::map::bench::insert_rand_100 ... bench: 186 ns/iter (+/- 30)
test btree::map::bench::insert_rand_10_000 ... bench: 377 ns/iter (+/- 8)
test btree::map::bench::insert_seq_100 ... bench: 299 ns/iter (+/- 10)
test btree::map::bench::insert_seq_10_000 ... bench: 368 ns/iter (+/- 12)
test btree::map::bench::iter_1000 ... bench: 20956 ns/iter (+/- 479)
test btree::map::bench::iter_100000 ... bench: 2060899 ns/iter (+/- 44325)
test btree::map::bench::iter_20 ... bench: 560 ns/iter (+/- 63)
After:
test btree::map::bench::find_rand_100 ... bench: 28 ns/iter (+/- 2)
test btree::map::bench::find_rand_10_000 ... bench: 74 ns/iter (+/- 3)
test btree::map::bench::find_seq_100 ... bench: 31 ns/iter (+/- 0)
test btree::map::bench::find_seq_10_000 ... bench: 46 ns/iter (+/- 0)
test btree::map::bench::insert_rand_100 ... bench: 141 ns/iter (+/- 1)
test btree::map::bench::insert_rand_10_000 ... bench: 273 ns/iter (+/- 12)
test btree::map::bench::insert_seq_100 ... bench: 255 ns/iter (+/- 17)
test btree::map::bench::insert_seq_10_000 ... bench: 340 ns/iter (+/- 3)
test btree::map::bench::iter_1000 ... bench: 21193 ns/iter (+/- 1958)
test btree::map::bench::iter_100000 ... bench: 2203599 ns/iter (+/- 100491)
test btree::map::bench::iter_20 ... bench: 614 ns/iter (+/- 110)
This code could probably be a fair bit cleaner, but it works.
Part of #18009 .
2014-12-12 15:22:06 +00:00
Simon Sapin
0c601153d4
gedit language spec: add new-style Unicode escapes
2014-12-12 14:03:30 +00:00
Tom Jakubowski
25223c8ef8
rustdoc: Properly inline const items
...
Build `clean::ConstantItem` values in the `inline` module and
pretty-print the AST for inlined const items.
Doc strings are still missing from inlined constants (see #19773 ).
Partially address #18156 , #19722 , #19185
Fix #15821
2014-12-12 05:37:08 -08:00
bors
2ea38750e9
auto merge of #19617 : nikomatsakis/rust/issue-19261-2, r=nrc
...
**First commit.** Patch up debruijn indices. Fixes #19537 .
**Second commit.** Stop reborrowing so much. Fixes #19147 . Fixes #19261 .
r? @nick29581
2014-12-12 13:21:58 +00:00
Jonathan S
130fb08210
Slimmify BTree by replacing its internal Node type, which previously…held three separately allocated Vec
s, with a manually allocated buffer. Additionally, restructure the node and stack interfaces to be safer and require fewer bounds checks.
...
Before:
test btree::map::bench::find_rand_100 ... bench: 35 ns/iter (+/- 2)
test btree::map::bench::find_rand_10_000 ... bench: 88 ns/iter (+/- 3)
test btree::map::bench::find_seq_100 ... bench: 36 ns/iter (+/- 1)
test btree::map::bench::find_seq_10_000 ... bench: 62 ns/iter (+/- 0)
test btree::map::bench::insert_rand_100 ... bench: 157 ns/iter (+/- 8)
test btree::map::bench::insert_rand_10_000 ... bench: 413 ns/iter (+/- 8)
test btree::map::bench::insert_seq_100 ... bench: 272 ns/iter (+/- 10)
test btree::map::bench::insert_seq_10_000 ... bench: 369 ns/iter (+/- 19)
test btree::map::bench::iter_1000 ... bench: 19049 ns/iter (+/- 740)
test btree::map::bench::iter_100000 ... bench: 1916737 ns/iter (+/- 102250)
test btree::map::bench::iter_20 ... bench: 424 ns/iter (+/- 40)
After:
test btree::map::bench::find_rand_100 ... bench: 9 ns/iter (+/- 1)
test btree::map::bench::find_rand_10_000 ... bench: 8 ns/iter (+/- 0)
test btree::map::bench::find_seq_100 ... bench: 7 ns/iter (+/- 0)
test btree::map::bench::find_seq_10_000 ... bench: 8 ns/iter (+/- 0)
test btree::map::bench::insert_rand_100 ... bench: 136 ns/iter (+/- 5)
test btree::map::bench::insert_rand_10_000 ... bench: 380 ns/iter (+/- 34)
test btree::map::bench::insert_seq_100 ... bench: 255 ns/iter (+/- 8)
test btree::map::bench::insert_seq_10_000 ... bench: 364 ns/iter (+/- 10)
test btree::map::bench::iter_1000 ... bench: 19112 ns/iter (+/- 837)
test btree::map::bench::iter_100000 ... bench: 1911961 ns/iter (+/- 33069)
test btree::map::bench::iter_20 ... bench: 453 ns/iter (+/- 37)
2014-12-12 06:58:18 -06:00
bors
d2e2bd1b44
auto merge of #19568 : barosl/rust/enum-struct-variants-ice, r=alexcrichton
...
This pull request tries to fix #19340 , which states two ICE cases related to enum struct variants.
It is my first attempt to fix the compiler. I found this solution by trial and error, so the method used to fix the issue looks very hacky. Please review it, and direct me to find a better solution.
I'm also to add test cases. Where should I put them? Maybe `src/test/run-pass/issue-19340.rs`?
2014-12-12 09:12:08 +00:00
jbranchaud
47b071af27
Add doctests for iter
and into_iter
for BTreeSet.
2014-12-12 01:18:10 -06:00
Nick Cameron
ce4318ad86
Reviewer comments
2014-12-12 19:29:17 +13:00
Nick Cameron
ae8ba88424
Mostly non-behaviour-changing changes (style, etc.)
2014-12-12 19:11:59 +13:00