Commit graph

49599 commits

Author SHA1 Message Date
Felix S. Klock II
c136be69e2 regression tests for issue #30438.
Fix #30438.
2016-02-18 23:16:45 +01:00
Felix S. Klock II
d15ca96eda Split dummy in region inference graph into distinct source and sink nodes.
Why do this: The RegionGraph representation previously conflated all
of the non-variable regions (i.e. the concrete regions such as
lifetime parameters to the current function) into a single dummy node.

A single dummy node leads DFS on a graph `'a -> '_#1 -> '_#0 -> 'b` to
claim that `'_#1` is reachable from `'_#0` (due to `'a` and `'b` being
conflated in the graph representation), which is incorrect (and can
lead to soundness bugs later on in compilation, see #30438).

Splitting the dummy node ensures that DFS will never introduce new
ancestor relationships between nodes for variable regions in the
graph.
2016-02-18 23:16:41 +01:00
Brian Anderson
36237fc612 Merge pull request #31575 from alexcrichton/beta-next
Remove an unused #![feature] in a doctest
2016-02-11 09:49:01 -08:00
Alex Crichton
d7c8bf3ff9 Remove an unused #![feature] in a doctest 2016-02-11 09:47:48 -08:00
Brian Anderson
1dc31b7fe1 Merge pull request #31552 from alexcrichton/beta-next
Backport one last PR for beta 3
2016-02-10 17:20:24 -08:00
Alex Crichton
71afb6b319 Bump beta to .3 2016-02-10 17:13:13 -08:00
Aaron Turon
b0e8c702ca Revert deprecation of IpAddr, stabilizing for 1.7
After [considerable
pushback](https://github.com/rust-lang/rfcs/issues/1451), it's clear
that there is a community consensus around providing `IpAddr` in the
standard library, together with other APIs using it.

This commit reverts from deprecated status directly to stable. The
deprecation landed in 1.6, which has already been released, so the
stabilization is marked for 1.7 (currently in beta; will require a backport).
2016-02-10 17:13:05 -08:00
Niko Matsakis
9d6e26d1d8 Merge pull request #31429 from pnkfelix/backport-rfc-1462
Backport accepted PRs for RFC 1462 to beta
2016-02-05 15:56:31 -05:00
Alex Burka
7fd7b5b7fc trpl: fix macro follow sets 2016-02-05 14:06:01 +01:00
Alex Burka
46049eea3d add [ to FOLLOW(ty) and FOLLOW(path)
Following RFC 1462 (amending 550). Closes #31135.
2016-02-05 14:05:48 +01:00
Alex Burka
9e3bf5a1a3 thorough follow-set tests 2016-02-05 14:05:43 +01:00
Brian Anderson
f4b756e6c6 Bump prerelease version to .2 2016-02-03 17:51:51 -08:00
Brian Anderson
04e29eb0eb Merge pull request #31392 from alexcrichton/beta-next
Merge in beta-accepted into beta
2016-02-03 17:46:49 -08:00
Alex Crichton
561e165f94 rustc_mir: Mark the crate as unstable
Wouldn't want to be able to link to this on stable Rust!

Conflicts:
	src/librustc_mir/lib.rs
2016-02-03 12:08:07 -08:00
Alex Crichton
eb8f43cc25 std: Stabilize custom hasher support in HashMap
This commit implements the stabilization of the custom hasher support intended
for 1.7 but left out due to some last-minute questions that needed some
decisions. A summary of the actions done in this PR are:

Stable

* `std:#️⃣:BuildHasher`
* `BuildHasher::Hasher`
* `BuildHasher::build_hasher`
* `std:#️⃣:BuildHasherDefault`
* `HashMap::with_hasher`
* `HashMap::with_capacity_and_hasher`
* `HashSet::with_hasher`
* `HashSet::with_capacity_and_hasher`
* `std::collections::hash_map::RandomState`
* `RandomState::new`

Deprecated

* `std::collections::hash_state`
* `std::collections::hash_state::HashState` - this trait was also moved into
  `std::hash` with a reexport here to ensure that we can have a blanket impl to
  prevent immediate breakage on nightly. Note that this is unstable in both
  location.
* `HashMap::with_hash_state` - renamed
* `HashMap::with_capacity_and_hash_state` - renamed
* `HashSet::with_hash_state` - renamed
* `HashSet::with_capacity_and_hash_state` - renamed

Closes #27713
2016-02-03 12:07:49 -08:00
bors
2bd875d3d4 Auto merge of #30820 - oli-obk:docs/wrapping_ops, r=alexcrichton
r? @steveklabnik
2016-01-19 23:08:25 +00:00
bors
f8c2d57f4c Auto merge of #30696 - steveklabnik:gh30655, r=brson
Fixes #30655
2016-01-19 17:34:20 +00:00
bors
84157dbd4c Auto merge of #31018 - gutworth:doc-loc, r=alexcrichton 2016-01-19 15:40:22 +00:00
bors
41b74b11b4 Auto merge of #30845 - nagisa:mir-extern-calls, r=dotdash
Supersedes https://github.com/rust-lang/rust/pull/30517
Fixes https://github.com/rust-lang/rust/issues/29575

cc @luqmana
r? @nikomatsakis
2016-01-19 13:46:18 +00:00
Simonas Kazlauskas
99e8b4d755 [MIR] Implement extern call support 2016-01-19 15:14:04 +02:00
bors
f6dd66e568 Auto merge of #31014 - nrc:fmt-term, r=sfackler 2016-01-19 11:51:58 +00:00
Oliver Schneider
84a5790f3a fix the docs and simplify the implementation of unsigned wrapping ops 2016-01-19 10:47:27 +01:00
bors
ced5a85940 Auto merge of #31015 - nrc:fmt-test, r=sfackler 2016-01-19 07:59:55 +00:00
Benjamin Peterson
0a7faeeae9 fix path to region inference documentation 2016-01-18 20:24:13 -08:00
Nick Cameron
e305ee6db9 manual fixups 2016-01-19 15:02:56 +13:00
Nick Cameron
2acfa838a0 rustfmt libtest 2016-01-19 14:55:13 +13:00
Nick Cameron
f368f43a7b rustfmt libterm 2016-01-19 14:51:22 +13:00
bors
c66e88289e Auto merge of #31013 - nrc:fmt-rbml, r=sfackler 2016-01-19 01:48:27 +00:00
Nick Cameron
8863d37f24 manual fixups 2016-01-19 14:39:23 +13:00
Nick Cameron
7c2bfd12a0 rustfmt librbml 2016-01-19 14:30:48 +13:00
bors
7a7307e5cf Auto merge of #31006 - Manishearth:rollup, r=Manishearth
- Successful merges: #30981, #30982, #30986, #30987, #30988, #30990, #30998
- Failed merges:
2016-01-18 23:04:55 +00:00
Manish Goregaokar
652fa5c0e9 Rollup merge of #31008 - barosl:typo, r=bluss 2016-01-19 04:08:59 +05:30
Manish Goregaokar
df61f4e504 Rollup merge of #30998 - apasel422:btree-set-variance, r=Gankro
CC #30642

r? @Gankro
2016-01-19 04:08:59 +05:30
Manish Goregaokar
11e24a21cd Rollup merge of #30990 - msvbg:msvbg-clang-7x, r=alexcrichton
I'm using clang 7.2 which works just fine to compile Rust with, but was disallowed.
2016-01-19 04:08:59 +05:30
Manish Goregaokar
49474313fd Rollup merge of #30988 - bluss:doc-space-t-bound, r=apasel422
Fix spacing style of `T: Bound` in docs

The space between `T` and `Bound` is the typical style used in code and
produced by rustdoc's rendering. Fixed first in Reflect's docs and then
I fixed all occurrences in docs I could find.
2016-01-19 04:08:59 +05:30
Manish Goregaokar
f0e8594bce Rollup merge of #30986 - sliz1:book-macro, r=alexcrichton
Sorry for nitpicking, but I think the example of the expanded macro should be wrapped inside a pair of curly braces to match the macro definition. Also the current example triggers a variable redefinition error.
2016-01-19 04:08:58 +05:30
Manish Goregaokar
f791395525 Rollup merge of #30981 - boblehest:tmp, r=alexcrichton
Original: #30968 (My first PR was targeting the wrong branch)
2016-01-19 04:08:58 +05:30
Barosl Lee
d449ec0195 Fix typo 2016-01-19 06:23:57 +09:00
bors
acc699f2e9 Auto merge of #30987 - antonblanchard:powerpc64_merge3, r=alexcrichton
We currently pass generic as the CPU to LLVM. This results in worse
than required code generation. On little endian, which is only POWER8,
we avoid many POWER4 and newer instructions.

Pass ppc64 and ppc64le instead.
2016-01-18 21:11:53 +00:00
bors
08886499cf Auto merge of #31000 - bluss:efficient-clone-from-slice, r=dotdash
Restore indexed formulation of clone_from_slice

For good codegen here, we need a lock step iteration where the loop
bound is only checked once per iteration; .zip() unfortunately does not
optimize this way.

If we use a counted loop, and make sure that llvm sees that the bounds
check condition is the same as the loop bound condition, the bounds
checks are optimized out. For this reason we need to slice `from`
(apparently) redundantly.

This commit restores the old formulation of clone_from_slice. In this
shape, clone_from_slice will again optimize into calling memcpy where possible
(for example for &[u8] or &[i32]).
2016-01-18 18:35:48 +00:00
Martin
da56967a3e Enumerate acceptable clang versions 2016-01-18 15:57:57 +01:00
Ulrik Sverdrup
6a7bc47a8f core: Restore indexed formulation of clone_from_slice
For good codegen here, we need a lock step iteration where the loop
bound is only checked once per iteration; .zip() unfortunately does not
optimize this way.

If we use a counted loop, and make sure that llvm sees that the bounds
check condition is the same as the loop bound condition, the bounds
checks are optimized out. For this reason we need to slice `from`
(apparently) redundantly.

This commit restores the old formulation of clone_from_slice. In this
shape, clone_from_slice will again optimize into calling memcpy where possible
(for example for &[u8] or &[i32]).
2016-01-18 15:28:00 +01:00
bors
a09a604d36 Auto merge of #30956 - KiChjang:move-tests-to-libcollectionstest, r=bluss
Encountered while I was trying to work on #28518. Please let me know whether this is a correct move.
2016-01-18 13:28:57 +00:00
Andrew Paseltiner
686be822ef Make btree_set::{IntoIter, Iter, Range} covariant
CC #30642
2016-01-18 07:53:12 -05:00
bors
50a8333300 Auto merge of #30996 - oli-obk:fix/load_range_assert, r=nagisa
it makes no sense here, accidentally introduced in #30931

r? @dotdash
2016-01-18 10:34:59 +00:00
Oliver Schneider
c02ba1618d revert using trans::Disr in LoadRangeAssert
it makes no sense here, accidentally introduced in #30931
2016-01-18 11:30:52 +01:00
bors
9d21acaf9b Auto merge of #30953 - KalitaAlexey:17823-get-rid-of-duplicate-error, r=nrc 2016-01-18 06:29:59 +00:00
kalita.alexey
8a41eb55d8 simplify E0308 message for primitive types 2016-01-18 08:59:44 +04:00
Martin
2f1703d161 Allow clang 7.x in configuration
I'm using clang 7.2 which works just fine to compile Rust with, but was disallowed.
2016-01-18 04:44:35 +01:00
bors
257d3244f0 Auto merge of #30980 - gereeter:fix-btree-iter-variance, r=apasel422
This takes the approach of making `NodeRef` universally covariant.

 Fixes #30979.
2016-01-18 02:55:09 +00:00