summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2016-02-26Don't assume color=always when explicitally specifiedSteven Allen-6/+6
Fixes #31546
2016-02-23Revert "Auto merge of #30533 - nikomatsakis:fulfillment-tree, r=aturon"Niko Matsakis-1467/+356
This reverts commit c14b615534ebcd5667f594c86d18eebff6afc7cb, reversing changes made to dda25f2221cc7dd68ed28254665dc7d25e2648ed. This caused a regression in compiler performance and backporting the fix to beta was deemed too risky and too challenging, since it is non-trivial and builds on prior commits in various ways. Conflicts: src/librustc/middle/traits/fulfill.rs src/librustc_data_structures/lib.rs
2016-02-18regression tests for issue #30438.Felix S. Klock II-0/+97
Fix #30438.
2016-02-18Split dummy in region inference graph into distinct source and sink nodes.Felix S. Klock II-3/+10
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-11Remove an unused #![feature] in a doctestAlex Crichton-1/+0
2016-02-10Revert deprecation of IpAddr, stabilizing for 1.7Aaron Turon-22/+8
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-05trpl: fix macro follow setsAlex Burka-3/+4
2016-02-05add `[` to FOLLOW(ty) and FOLLOW(path)Alex Burka-1/+1
Following RFC 1462 (amending 550). Closes #31135.
2016-02-05thorough follow-set testsAlex Burka-0/+312
2016-02-03rustc_mir: Mark the crate as unstableAlex Crichton-0/+2
Wouldn't want to be able to link to this on stable Rust! Conflicts: src/librustc_mir/lib.rs
2016-02-03std: Stabilize custom hasher support in HashMapAlex Crichton-142/+215
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::hash::BuildHasher` * `BuildHasher::Hasher` * `BuildHasher::build_hasher` * `std::hash::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-01-19Auto merge of #30820 - oli-obk:docs/wrapping_ops, r=alexcrichtonbors-50/+43
r? @steveklabnik
2016-01-19Auto merge of #30696 - steveklabnik:gh30655, r=brsonbors-0/+10
Fixes #30655
2016-01-19Auto merge of #31018 - gutworth:doc-loc, r=alexcrichtonbors-1/+1
2016-01-19Auto merge of #30845 - nagisa:mir-extern-calls, r=dotdashbors-13/+109
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[MIR] Implement extern call supportSimonas Kazlauskas-13/+109
2016-01-19Auto merge of #31014 - nrc:fmt-term, r=sfacklerbors-6/+6
2016-01-19fix the docs and simplify the implementation of unsigned wrapping opsOliver Schneider-50/+43
2016-01-19Auto merge of #31015 - nrc:fmt-test, r=sfacklerbors-510/+519
2016-01-18fix path to region inference documentationBenjamin Peterson-1/+1
2016-01-19manual fixupsNick Cameron-20/+13
2016-01-19rustfmt libtestNick Cameron-522/+538
2016-01-19rustfmt libtermNick Cameron-6/+6
2016-01-19Auto merge of #31013 - nrc:fmt-rbml, r=sfacklerbors-450/+505
2016-01-19manual fixupsNick Cameron-10/+23
2016-01-19rustfmt librbmlNick Cameron-468/+510
2016-01-18Auto merge of #31006 - Manishearth:rollup, r=Manishearthbors-35/+37
- Successful merges: #30981, #30982, #30986, #30987, #30988, #30990, #30998 - Failed merges:
2016-01-19Rollup merge of #31008 - barosl:typo, r=blussManish Goregaokar-2/+2
2016-01-19Rollup merge of #30998 - apasel422:btree-set-variance, r=GankroManish Goregaokar-19/+19
CC #30642 r? @Gankro
2016-01-19Rollup merge of #30988 - bluss:doc-space-t-bound, r=apasel422Manish Goregaokar-9/+9
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-19Rollup merge of #30986 - sliz1:book-macro, r=alexcrichtonManish Goregaokar-3/+5
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-19Rollup merge of #30981 - boblehest:tmp, r=alexcrichtonManish Goregaokar-2/+2
Original: #30968 (My first PR was targeting the wrong branch)
2016-01-19Fix typoBarosl Lee-2/+2
2016-01-18Auto merge of #30987 - antonblanchard:powerpc64_merge3, r=alexcrichtonbors-0/+2
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-18Auto merge of #31000 - bluss:efficient-clone-from-slice, r=dotdashbors-2/+7
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-18core: Restore indexed formulation of clone_from_sliceUlrik Sverdrup-2/+7
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-18Auto merge of #30956 - KiChjang:move-tests-to-libcollectionstest, r=blussbors-30/+41
Encountered while I was trying to work on #28518. Please let me know whether this is a correct move.
2016-01-18Make `btree_set::{IntoIter, Iter, Range}` covariantAndrew Paseltiner-19/+19
CC #30642
2016-01-18Auto merge of #30996 - oli-obk:fix/load_range_assert, r=nagisabors-10/+8
it makes no sense here, accidentally introduced in #30931 r? @dotdash
2016-01-18revert using `trans::Disr` in `LoadRangeAssert`Oliver Schneider-10/+8
it makes no sense here, accidentally introduced in #30931
2016-01-18Auto merge of #30953 - KalitaAlexey:17823-get-rid-of-duplicate-error, r=nrcbors-112/+22
2016-01-18simplify E0308 message for primitive typeskalita.alexey-112/+22
2016-01-18Auto merge of #30980 - gereeter:fix-btree-iter-variance, r=apasel422bors-17/+118
This takes the approach of making `NodeRef` universally covariant. Fixes #30979.
2016-01-18Auto merge of #30973 - SimonSapin:patch-16, r=alexcrichtonbors-4/+4
I don’t understand what the "flow information" of an IPv6 address is, but it looks separate from the scope ID. This was probably a copy/paste error.
2016-01-17Auto merge of #30964 - GuillaumeGomez:patch-5, r=Manishearthbors-1/+88
r? @Manishearth
2016-01-17Fix spacing style of `T: Bound` in docsUlrik Sverdrup-9/+9
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-17Fix C macro exampleStephen (Ziyun) Li-3/+5
2016-01-17Fix LLVM default CPU on powerpc64 and powerpc64leAnton Blanchard-0/+2
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-17Expand the macro in variance-btree-invariant-types.rs to make compiletest ↵Jonathan S-36/+43
recognize that it should error
2016-01-17Auto merge of #30978 - nikomatsakis:fulfillment-tree-add-fixme, r=aturonbors-1/+1
r? @aturon