Commit Graph

70243 Commits

Author SHA1 Message Date
bors
c8c1424bf4 Auto merge of #45673 - GuillaumeGomez:rustdoc-type-search-generic, r=QuietMisdreavus
Search over generic types in docs

This is what I was talking about @QuietMisdreavus. Now we have generics.

Waiting for #45617 to get merged.
2017-11-13 06:54:24 +00:00
Zack M. Davis
5cc488d250 deduplicate projection error (E0271) messages
The `ErrorId` variant takes a u16 so that `DiagnosticMessageId` can retain
its `Copy` status (the present author's first choice having been the "EXXX"
code as a string).

The duplicated "type mismatch resolving `{}`" literal is unfortunate, but
the `struct_span_err!` macro (which we want to mark that error code as
used) is fussy about taking a literal, and the one-time-diagnostics set
needs an owned string.

This is concerning #33941 and probably #45805!
2017-11-12 19:34:27 -08:00
Shotaro Yamada
f99142b977 Fix comments 2017-11-13 12:25:13 +09:00
bors
783c6ec55d Auto merge of #45949 - Mark-Simulacrum:cargo-next, r=alexcrichton
Bump cargo to master

Includes a few bugfixes, and updates the Cargo book.

Critically includes https://github.com/rust-lang/cargo/pull/4716. This
unblocks (in theory) crater runs.
2017-11-13 01:53:12 +00:00
Jeff Crocker
642468858f
Updated exported incremental compilation hash tests 2017-11-12 16:24:41 -08:00
Jeff Crocker
44528cb7be
Fix indexing expressions test copy/paste docs 2017-11-12 16:20:22 -08:00
Jeff Crocker
b30b442ce1
Update if-expressions incremental hash tests 2017-11-12 16:13:42 -08:00
Nick Fitzgerald
c9c7d9f57a incr: Make unary_and_binary_exprs.rs use except-style incremental checking
Part of #44924
2017-11-12 16:12:29 -08:00
Jeff Crocker
e9e876d92e
Update panic expressions w/o overflow checks tests 2017-11-12 15:48:43 -08:00
bors
7f43981ebf Auto merge of #45623 - mneumann:dragonfly-ci, r=alexcrichton
Add ci for DragonFly
2017-11-12 23:31:58 +00:00
Mark Simulacrum
1f921ec9cf Bump cargo to master.
Includes a few bugfixes, and updates the Cargo book.

Critically includes https://github.com/rust-lang/cargo/pull/4716. This
unblocks (in theory) crater runs.
2017-11-12 16:21:00 -07:00
Jeff Crocker
59592b11b7
Update panic expression incremental tests 2017-11-12 14:57:43 -08:00
Nick Cameron
97d21e29df review changes 2017-11-13 10:51:30 +13:00
Nick Cameron
63d854acf2 Distribute Rustfmt 2017-11-13 10:51:29 +13:00
bors
79cfce3d35 Auto merge of #44167 - cengizIO:master, r=nikomatsakis
Improve SubSupConflict with a named and an anonymous lifetime parameter #42701

Hello!

This fixes #42701.

## UPDATE 01
Tests are producing different results between different env builds.
This inconsistency might take a long time to investigate and fix. So, be patient

## UPDATE 02
Changed an `FxHashMap` with a `BTreeMap`. Inconsistency seems to be resolved for now.
2017-11-12 21:04:41 +00:00
Guillaume Gomez
0e4c829f2b Add "As parameters" items as well 2017-11-12 21:38:24 +01:00
Guillaume Gomez
5c5ab0d1fb Improve result output 2017-11-12 21:38:24 +01:00
Guillaume Gomez
6514f44bd1 Big JS optimization 2017-11-12 21:38:23 +01:00
Guillaume Gomez
c96be6f4cb Add elements count in tab search title 2017-11-12 21:38:23 +01:00
Guillaume Gomez
c3207ba0cf JS big updates 2017-11-12 21:38:23 +01:00
Guillaume Gomez
2db6ce6e96 Generate generics on search-index 2017-11-12 21:38:23 +01:00
bors
fb5ba4ef90 Auto merge of #45908 - alexcrichton:disable-thinlto-libtest, r=Mark-Simulacrum
rustbuild: Disable ThinLTO for libtest

Right now ThinLTO is generating bad dwarf which is tracked by #45511, but this
is causing issues on OSX (#45768) where `dsymutil` is segfaulting and failing to
produce output.

Closes #45768
2017-11-12 18:06:46 +00:00
Michael Neumann
949abfe7d5 Add ci for DragonFly (disabled for now) 2017-11-12 19:00:35 +01:00
Cengiz Can
f53fc57297 update project-fn-test-invariant test 2017-11-12 17:58:05 +00:00
Eduard-Mihai Burtescu
0ac6c3aacb rustc_driver: expose a way to override query providers in CompileController. 2017-11-12 18:20:38 +02:00
Eduard-Mihai Burtescu
18b3a9a099 rustc_driver: base extern query providers on local ones. 2017-11-12 18:20:15 +02:00
Cengiz Can
17199713e8 remove trailing whitespace from comment block 2017-11-12 18:56:45 +03:00
Cengiz Can
5aac7a5a0a add reasons of using BTreeMap to a comment 2017-11-12 18:56:45 +03:00
Cengiz Can
090669d9cd update failing E0621 tests 2017-11-12 18:56:45 +03:00
Cengiz Can
501c558ffe use BTreeMap for region constraints 2017-11-12 18:56:45 +03:00
Cengiz Can
ee839b36ac Update fn-ret-invariant test assertion 2017-11-12 18:56:45 +03:00
Cengiz Can
da52563bf5 Improve SubSupConflict case with one named, one anonymous lifetime parameter #42701 2017-11-12 18:56:45 +03:00
bors
3d2dc6e940 Auto merge of #45753 - sinkuu:mir_copyprop_arg, r=arielb1
Fix MIR CopyPropagation errneously propagating assignments to function args

Compiling this code with MIR CopyPropagation activated will result in printing `5`,
because CopyProp errneously propagates the assignment of `5` to all `x`:

```rust
fn bar(mut x: u8) {
    println!("{}", x);
    x = 5;
}

fn main() {
    bar(123);
}

```

If a local is propagated, it will result in an ICE at trans due to an use-before-def:

```rust
fn dummy(x: u8) -> u8 { x }

fn foo(mut x: u8) {
    x = dummy(x); // this will assign a local to `x`
}
```
Currently CopyProp conservatively gives up if there are multiple assignments to a local,
but it is not took into account that arguments are already assigned from the beginning.
This PR fixes the problem by preventing propagation of assignments to function arguments.
2017-11-12 15:38:13 +00:00
gaurikholkar
f345b3c652 tidy fixes 2017-11-12 20:29:32 +05:30
Björn Steinbrink
1a8c9f895d Update LLVM to fix miscompiles with -Copt-level=z on Windows
Fixes #45034
2017-11-12 15:12:02 +01:00
Simon Sapin
7625c79f2a Do not silence output in run-make/sanitizer-memory 2017-11-12 14:56:45 +01:00
bors
4b6f7252a1 Auto merge of #45902 - nrc:component-update, r=alexcrichton
Update RLS and Rustfmt

r? @alexcrichton
2017-11-12 12:20:07 +00:00
gaurikholkar
1846addf04 update match-expressions.rs 2017-11-12 15:56:19 +05:30
bors
19e63bd50e Auto merge of #45900 - rkruppe:u128-to-f32-saturation-by-default, r=alexcrichton
Make saturating u128 -> f32 casts the default behavior

... rather than being gated by `-Z saturating-float-casts`. There are several reasons for this:

1. Const eval already implements this behavior.
2. Unlike with float->int casts, this behavior is uncontroversially the right behavior and it is not as performance critical. Thus there is no particular need to make the bug fix for u128->f32 casts opt-in.
3. Having two orthogonal features under one flag is silly, and never should have happened in the first place.
4. Benchmarking float->int casts with the -Z flag should not pick up performance changes due to the u128->f32 casts (assuming there are any).

Fixes #41799
2017-11-12 09:46:00 +00:00
bors
b087dedf3f Auto merge of #45870 - mikeyhew:arbitrary_self_types, r=arielb1
Implement arbitrary_self_types

r? @arielb1
cc @nikomatsakis

Partial implementation of #44874.  Supports trait and struct methods with arbitrary self types, as long as the type derefs (transitively) to `Self`. Doesn't support raw-pointer `self` yet.

Methods with non-standard self types (i.e. anything other than `&self, &mut self, and Box<Self>`) are not object safe, because dynamic dispatch hasn't been implemented for them yet.

I believe this is also a (partial) fix for #27941.
2017-11-12 07:31:08 +00:00
bors
c1aacdcb30 Auto merge of #45864 - nikomatsakis:issue-30046-infer-fn-once-in-closures, r=eddyb
adjust closure kind based on the guarantor's upvar note

Fixes #30046.

r? @eddyb
2017-11-12 05:08:09 +00:00
Shotaro Yamada
d3e9881ed1 MIR-borrowck: fix diagnostics for closures 2017-11-12 11:27:21 +09:00
bors
e9f8542014 Auto merge of #45848 - nrc:rls-bugs-4, r=eddyb
save-analysis: two fixes + rustfmt

Fix two regressions and run rustfmt.

r? @eddyb
2017-11-12 01:58:12 +00:00
Simon Sapin
8b8bdb63a4 Make the try branch use alternate builds. 2017-11-11 23:31:41 +01:00
Simon Sapin
325a769a21 Disable LLVM assertions on Nightly, enable them in "alt" builds. 2017-11-11 23:31:37 +01:00
bors
45caff88d1 Auto merge of #45152 - Binero:master, r=dtolnay
Addressed issues raised in #44286. (`OccupiedEntry::replace_entry`)

This commit renames the `replace` function to `replace_entry`, and
creates a seperate `replace_key` function for `OccupiedEntry`. The
original `replace` function did not solve the use-case where the
key needed to be replaced, but not the value. Documentation and
naming has also been updated to better reflect what the original
replace function does.
2017-11-11 20:41:36 +00:00
Dan Gohman
7b6b764917 Control LLVM's TrapUnreachable feature through rustc's TargetOptions. 2017-11-11 12:15:43 -08:00
Jeroen Bollen
0fb37fc67d Improvided map_entry_replace examples
The current examples should be more realistic.
2017-11-11 19:45:32 +01:00
bors
24bb4d1e75 Auto merge of #45333 - alkis:master, r=bluss
Improve SliceExt::binary_search performance

Improve the performance of binary_search by reducing the number of unpredictable conditional branches in the loop. In addition improve the benchmarks to test performance in l1, l2 and l3 caches on sorted arrays with or without dups.

Before:

```
test slice::binary_search_l1                               ... bench:          48 ns/iter (+/- 1)
test slice::binary_search_l2                               ... bench:          63 ns/iter (+/- 0)
test slice::binary_search_l3                               ... bench:         152 ns/iter (+/- 12)
test slice::binary_search_l1_with_dups                     ... bench:          36 ns/iter (+/- 0)
test slice::binary_search_l2_with_dups                     ... bench:          64 ns/iter (+/- 1)
test slice::binary_search_l3_with_dups                     ... bench:         153 ns/iter (+/- 6)
```

After:

```
test slice::binary_search_l1                               ... bench:          15 ns/iter (+/- 0)
test slice::binary_search_l2                               ... bench:          23 ns/iter (+/- 0)
test slice::binary_search_l3                               ... bench:         100 ns/iter (+/- 17)
test slice::binary_search_l1_with_dups                     ... bench:          15 ns/iter (+/- 0)
test slice::binary_search_l2_with_dups                     ... bench:          23 ns/iter (+/- 0)
test slice::binary_search_l3_with_dups                     ... bench:          98 ns/iter (+/- 14)
```
2017-11-11 18:17:14 +00:00
bors
b22679366a Auto merge of #45775 - petrochenkov:patnopat, r=nikomatsakis
Accept interpolated patterns in trait method parameters

Permit this, basically
```rust
macro_rules! m {
    ($pat: pat) => {
        trait Tr {
            fn f($pat: u8) {}
        }
    }
}
```
it previously caused a parsing error during expansion because trait methods accept only very restricted set of patterns during parsing due to ambiguities caused by [anonymous parameters](https://github.com/rust-lang/rust/issues/41686), and this set didn't include interpolated patterns.

Some outdated messages from "no patterns allowed" errors are also removed.

Addresses https://github.com/rust-lang/rust/issues/35203#issuecomment-341937159
2017-11-11 15:49:36 +00:00