77848 Commits

Author SHA1 Message Date
Sebastian Köln
23aa483102 add fn into_inner(self) -> (Idx, Idx) to RangeInclusive (#49022) 2018-05-09 18:03:13 +02:00
Michael Woerister
a9810899a2 Allow for specifying a linker plugin for cross-language LTO 2018-05-09 16:42:35 +02:00
Michael Woerister
b8b957d479 Make CrateNum allocation more thread-safe. 2018-05-09 16:05:32 +02:00
Corey Farwell
0ba1c101dc Clarify in the docs that mul_add is not always faster.
Fixes https://github.com/rust-lang/rust/issues/49842.

Other resources:

- https://users.rust-lang.org/t/why-does-the-mul-add-method-produce-a-more-accurate-result-with-better-performance/1626
- https://en.wikipedia.org/wiki/Multiply%E2%80%93accumulate_operation
2018-05-09 06:47:37 -07:00
bors
ac287ed167 Auto merge of #50546 - kennytm:rollup, r=kennytm
Rollup of 11 pull requests

Successful merges:

 - #49988 (Mention Result<!, E> in never docs.)
 - #50148 (turn `ManuallyDrop::new` into a constant function)
 - #50456 (Update the Cargo submodule)
 - #50460 (Make `String::new()` const)
 - #50464 (Remove some transmutes)
 - #50505 (Added regression function match value test)
 - #50511 (Add some explanations for #[must_use])
 - #50525 (Optimize string handling in lit_token().)
 - #50527 (Cleanup a `use` in a raw_vec test)
 - #50539 (Add more logarithm constants)
 - #49523 (Update RELEASES.md for 1.26.0)

Failed merges:
2018-05-09 13:28:15 +00:00
kennytm
99cd9a9f40
Rollup merge of #49523 - Aaronepower:master, r=Mark-Simulacrum
Update RELEASES.md for 1.26.0

[Rendered](https://github.com/Aaronepower/rust/blob/master/RELEASES.md)
2018-05-09 20:29:49 +08:00
kennytm
553d25eb50
Rollup merge of #50527 - glandium:cleanup, r=sfackler
Cleanup a `use` in a raw_vec test

`allocator` is deprecated in favor of `alloc`, and `Alloc` is already imported
through `super::*`.
2018-05-09 20:29:47 +08:00
kennytm
4924fea202
Rollup merge of #50511 - Manishearth:must-use, r=QuietMisdreavus
Add some explanations for #[must_use]

`#[must_use]` can be given a string argument which is shown whilst warning for things.

We should add a string argument to most of the user-exposed ones.

I added these for everything but the operators, mostly because I'm not sure what to write there or if we need anything there.
2018-05-09 20:29:46 +08:00
kennytm
4c3ab33f3a
Rollup merge of #50505 - Aaronepower:add-test, r=oli-obk
Added regression function match value test

closes #44333
2018-05-09 20:29:45 +08:00
kennytm
e6e58a3a43
Rollup merge of #50464 - est31:master, r=rkruppe
Remove some transmutes
2018-05-09 20:29:44 +08:00
kennytm
1f4718a5c1
Rollup merge of #50460 - F001:const_string, r=kennytm
Make `String::new()` const

Following the steps of https://github.com/rust-lang/rust/pull/50233 , make `String::new()` a `const fn`.
2018-05-09 20:29:42 +08:00
Nicholas Nethercote
78262e700d Use SmallVec for DepNodeIndex within dep_graph.
This avoids a decent number of allocations, enough to speed up
incremental runs of many rustc-benchmarks, the best by 2%.
2018-05-09 20:36:17 +10:00
Nicholas Nethercote
77c40f8c6f Inline Span methods.
Because they are simple and hot.

This change speeds up some incremental runs of a few rustc-perf
benchmarks, the best by 3%.
2018-05-09 20:14:03 +10:00
Aaron Power
111786d30e
Update RELEASES.md 2018-05-09 11:06:20 +01:00
kennytm
dea03f1239
Rollup merge of #50148 - japaric:const-manuallydrop, r=oli-obk
turn `ManuallyDrop::new` into a constant function
2018-05-09 17:25:25 +08:00
kennytm
bb690c600c
Rollup merge of #49988 - clarcharr:never_docs, r=steveklabnik
Mention Result<!, E> in never docs.

Fixes #48096.
2018-05-09 17:25:04 +08:00
kennytm
8e7f6dbdd7
Rollup merge of #50539 - clarcharr:log_const, r=dtolnay
Add more logarithm constants

Right now, we have `ln(2)` and `ln(10)`, but only `log2(e)` and `log10(e)`. This also adds `log2(10)` and `log10(2)` for consistency.
2018-05-09 17:24:44 +08:00
kennytm
0fa08507ef
Rollup merge of #50525 - nnethercote:lit_token, r=michaelwoerister
Optimize string handling in lit_token().

In the common case, the string value in a string literal Token is the
same as the string value in a string literal LitKind. (The exception is
when escapes or \r are involved.) This patch takes advantage of that to
avoid calling str_lit() and re-interning the string in that case. This
speeds up incremental builds for a few of the rustc-benchmarks, the best
by 3%.

Benchmarks that got a speedup of 1% or more:
```
coercions
        avg: -1.1%      min: -3.5%      max: 0.4%
regex-check
        avg: -1.2%      min: -1.5%      max: -0.6%
futures-check
        avg: -0.9%      min: -1.4%      max: -0.3%
futures
        avg: -0.8%      min: -1.3%      max: -0.3%
futures-opt
        avg: -0.7%      min: -1.2%      max: -0.1%
regex
        avg: -0.5%      min: -1.2%      max: -0.1%
regex-opt
        avg: -0.5%      min: -1.1%      max: -0.1%
hyper-check
        avg: -0.7%      min: -1.0%      max: -0.3%
```
2018-05-09 17:23:31 +08:00
kennytm
e6a309e352
Rollup merge of #50456 - alexcrichton:update-cargo, r=alexcrichton
Update the Cargo submodule

Hopefully brining in a few fixes to Cargo regressions!
2018-05-09 17:20:55 +08:00
Michael Woerister
31d2012ef7 Adapt some method visibilities in librustc_metadata::cstore. 2018-05-09 10:33:45 +02:00
Eric Huss
5128affbc4 Fix update-references for tests within subdirectories.
Fixes #50438.

I'll make this more robust later for #49815.
2018-05-08 20:27:34 -07:00
Collins Abitekaniza
2f8c2a93bf ignore test-args if user specifies suite_path 2018-05-09 03:24:03 +03:00
Nicholas Nethercote
65ea0ff29d Optimize string handling in lit_token().
In the common case, the string value in a string literal Token is the
same as the string value in a string literal LitKind. (The exception is
when escapes or \r are involved.) This patch takes advantage of that to
avoid calling str_lit() and re-interning the string in that case. This
speeds up incremental builds for a few of the rustc-benchmarks, the best
by 3%.
2018-05-09 09:17:03 +10:00
Clar Charr
23b6e465b9 Add more logarithm constants 2018-05-08 13:40:17 -04:00
bors
8ff4b42064 Auto merge of #50530 - oli-obk:miri, r=kennytm
Fix thinning pointers to extern types in miri

r? @kennytm as an alternative to disabling the miri build

fixes #50495
2018-05-08 17:20:01 +00:00
Alex Crichton
576aab9dfe Update the Cargo/stdsimd submodules
Hopefully brining in a few fixes to Cargo regressions as well as some new
stdsimd functions!
2018-05-08 08:20:47 -07:00
bors
c166b03868 Auto merge of #50497 - RalfJung:pinmut, r=withoutboats
Rename Pin to PinMut, and some more breaking changes

As discussed at [1] §3 and [2] and [3], a formal look at pinning requires considering a distinguished "shared pinned" mode/typestate.  Given that, it seems desirable to at least eventually actually expose that typestate as a reference type.  This renames Pin to PinMut, freeing the name Pin in case we want to use it for a shared pinned reference later on.

[1] https://www.ralfj.de/blog/2018/04/10/safe-intrusive-collections-with-pinning.html
[2] https://github.com/rust-lang/rfcs/pull/2349#issuecomment-379250361
[3] https://github.com/rust-lang/rust/issues/49150#issuecomment-380488275

Cc @withoutboats
2018-05-08 14:45:16 +00:00
John Kåre Alsaker
c9d9c249ec Insert fields from TypeAndMut into TyRef to allow layout optimization 2018-05-08 16:21:58 +02:00
John Kåre Alsaker
710b4ad2a5 Store the GeneratorInterior in the new GeneratorSubsts 2018-05-08 16:21:58 +02:00
John Kåre Alsaker
0edc8f4270 Store generator movability outside GeneratorInterior 2018-05-08 16:21:58 +02:00
Wesley Wiser
868d2a18c1
Fix comment 2018-05-08 09:13:18 -04:00
Michael Woerister
ea4942835d Don't use Lock for heavily accessed CrateMetadata::cnum_map. 2018-05-08 14:32:31 +02:00
bors
b183bd0ad4 Auto merge of #50490 - nrc:method-docs, r=eddyb
save-analysis: emit correct docs for methods

cc https://github.com/rust-lang-nursery/rls/issues/446

r? @eddyb
2018-05-08 12:25:01 +00:00
Oliver Schneider
5258871825
Fix thinning pointers to extern types in miri 2018-05-08 13:52:20 +02:00
bors
697a989ec0 Auto merge of #50503 - alexheretic:master, r=oli-obk
Update rls with compiling clippy

Updates rls to use a working clippy version. This pr can be closed if the latest clippy release is broken again.
2018-05-08 10:15:48 +00:00
Mike Hommey
663c0961b9 Cleanup a use in a raw_vec test
`allocator` is deprecated in favor of `alloc`, and `Alloc` is already imported
through `super::*`.
2018-05-08 17:07:24 +09:00
bors
295d98069f Auto merge of #50390 - hdhoang:46205_deny_by_default, r=nikomatsakis
lint: deny incoherent_fundamental_impls by default

Warn the ecosystem of the pending intent-to-disallow in #49799.

There are 4 ICEs on my machine, look unrelated (having happened before in https://github.com/rust-lang/rust/issues/49146#issuecomment-384473523)

```rust
thread 'main' panicked at 'assertion failed: position <= slice.len()', libserialize/leb128.rs:97:1
```

```
    [run-pass] run-pass/allocator/xcrate-use2.rs
    [run-pass] run-pass/issue-12133-3.rs
    [run-pass] run-pass/issue-32518.rs
    [run-pass] run-pass/trait-default-method-xc-2.rs
```

r? @nikomatsakis
2018-05-08 04:56:01 +00:00
Wesley Wiser
000d3c97ee Make DepGraph::previous_work_products immutable
Fixes #50501
2018-05-07 23:17:16 -04:00
bors
0da1a69003 Auto merge of #50260 - Manishearth:no-extern-crate, r=nikomatsakis
idiom lints for removing `extern crate`

Based off of https://github.com/rust-lang/rust/pull/49789

This contains two lints:

 - One that suggests replacing pub extern crates with pub use, and removing non-pub extern crates entirely
 - One that suggests rewriting `use modulename::...::cratename::foo` as `cratename::foo`

The latter is a bit tricky to emit suggestions for; for one this involves splicing spans (never a good idea), and it also won't be able to correctly
handle `use module::{cratename, foo}` and use-trees. I'm not sure how to proceed here. Currently it doesn't suggest anything at all.

Perhaps we can go the other way and suggest removal of all extern crates _except_ those used through modules (stash node ids somewhere) and suggest replacing those with `<visibility> use`?

r? @nikomatsakis

fixes https://github.com/rust-lang/rust/issues/48719
2018-05-08 01:37:52 +00:00
bors
715d6a98aa Auto merge of #50305 - GuillaumeGomez:fix-mod-stackoverflow, r=QuietMisdreavus
Prevent infinite recursion of modules

Fixes #50196.

r? @QuietMisdreavus
2018-05-07 23:18:12 +00:00
Manish Goregaokar
a72a0801bd Add explanation for #[must_use] on string replace methods 2018-05-07 10:26:29 -07:00
Manish Goregaokar
f8b774fbf1 Add explanation for #[must_use] on mutex guards 2018-05-07 10:26:28 -07:00
Manish Goregaokar
6e49c837f6 Add explanation for #[must_use] on Debug builders 2018-05-07 10:26:28 -07:00
Manish Goregaokar
1abed9cebf Add explanation for #[must_use] on Result 2018-05-07 10:26:28 -07:00
John Kåre Alsaker
f741ee104b Make SelectionCache and EvaluationCache thread-safe 2018-05-07 17:13:09 +02:00
Aaron Power
31a8ffec71 Added regression function match value test, closes #44333 2018-05-07 16:12:13 +01:00
Alex Butler
640e937ec3
Update clippy 0.0.197 2018-05-07 16:03:42 +01:00
bors
565235ee7e Auto merge of #50454 - Manishearth:edition-preview-fixes, r=alexcrichton
Various edition preview fixes

Implement a bunch of things discussed in the meeting.
2018-05-07 14:54:17 +00:00
John Kåre Alsaker
e245d69322 Only lookup types in one interner 2018-05-07 16:40:10 +02:00
Alex Butler
e4a0514bbe
Update rls 1263f1f
Fix rls-clippy feature compile
2018-05-07 15:25:37 +01:00