Commit Graph

77766 Commits

Author SHA1 Message Date
Guillaume Gomez 4b14573d50 Add minification process 2018-05-12 19:15:06 +02:00
bors c8a3ec1ce6 Auto merge of #50432 - GuillaumeGomez:fix-vec-new-search, r=QuietMisdreavus
Fix rustdoc pathes search

Fixes #50086.

Depends on #50302.

r? @QuietMisdreavus
2018-05-10 07:52:15 +00:00
bors 95d0b9e967 Auto merge of #49729 - collin5:b48483, r=Mark-Simulacrum
./x.py test should be able to run individual tests

Allows user to be able to run individual tests by specifying filename i.e `./x.py test src/test/run-pass/foo.rs`

Fixes #48483
2018-05-10 02:15:40 +00:00
bors e5f80f2a4f Auto merge of #49834 - Zoxc:sync-trait-cache, r=nikomatsakis
Make SelectionCache and EvaluationCache thread-safe

Split out from https://github.com/rust-lang/rust/pull/49558

r? @nikomatsakis
2018-05-09 19:17:35 +00:00
Guillaume Gomez 2c91b49fe4 Add exact-check option to rustdoc-js tests 2018-05-09 19:17:13 +02:00
bors 472541731e Auto merge of #49711 - ibabushkin:auto_trait_refactor, r=nikomatsakis
Refactor auto trait handling in librustdoc to be accessible from librustc.

These commits transfer some of the functionality introduced in https://github.com/rust-lang/rust/pull/47833 to librustc with the intention of making the tools to work with auto traits accessible to third-party code, for example [rust-semverver](https://github.com/rust-lang-nursery/rust-semverver).

Some rough edges remain, and I'm certain some of the FIXMEs introduced will need some discussion, most notably the fairly ugly overall approach to pull out the core logic into librustc, which was previously fairly tightly coupled with various bits and bobs from librustdoc.

cc @Aaron1011
2018-05-09 16:56:30 +00: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
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
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
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
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
Alex Butler e4a0514bbe
Update rls 1263f1f
Fix rls-clippy feature compile
2018-05-07 15:25:37 +01:00
Collins Abitekaniza 41ee6fe147 ./x.py test should be able to run individual tests
trim and pass relative test paths as test-args

use collect for getting test_args

move suite_path to ShouldRun and make Option

append existing args to test_args

use enum for PathSet

handle Suites differently from Paths

Error out if part of test suite but not file

refactor, make requested changes
2018-05-07 16:51:58 +03:00
bors 62889702c9 Auto merge of #50487 - nikic:heap-manually-drop, r=Gankro
Use ManuallyDrop instead of Option in BinaryHeap Hole implementation

The Option is always Some until drop, where it becomes None. Make this more explicit and avoid unwraps by using ManuallyDrop.

This change should be performance-neutral as LLVM already optimizes the unwraps away in the inlined code. However I've seen this pattern copied from here to other crates where it is not optimized away, so I think it would be good to change it.
2018-05-07 12:30:55 +00:00
Ralf Jung 939c25a522 Unpin: Fix references to Pin type 2018-05-07 14:30:29 +02:00
Ralf Jung 8619e19dc4 Rename PinMut::borrow to PinMut::reborrow and make it a method 2018-05-07 13:56:24 +02:00
Ralf Jung 17206a7e64 PinMut::get_mut can also preserve the lifetime 2018-05-07 13:20:30 +02:00
Ralf Jung 84ce206db6 Change PinMut::map to be able to preserve the original reference's lifetime
Suggested by @dylanede at <https://github.com/rust-lang/rust/issues/49150#issuecomment-381071442>.
2018-05-07 12:51:59 +02:00
Ralf Jung 9f26376281 Rename Pin to PinMut
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
2018-05-07 12:44:26 +02:00
Guillaume Gomez 3ba7c00f94 Prevent infinite recursion of modules 2018-05-07 12:44:03 +02:00
Aaron Power 85f3ecfa9b
Update RELEASES.md 2018-05-07 11:37:36 +01:00