Commit graph

21441 commits

Author SHA1 Message Date
ashtneoi
0a82abc47b Test patterns in tuples 2018-08-15 15:14:21 -07:00
ashtneoi
6cf4e14ac0 Coalesce var-is-not-Copy notes per move 2018-08-15 15:14:21 -07:00
ashtneoi
20ae08bda6 Dedup suggestions 2018-08-15 15:14:21 -07:00
ashtneoi
40b5118c8a Remove unnecessary underscore 2018-08-15 15:14:21 -07:00
ashtneoi
8135372ed1 Change TODOs to FIXMEs 2018-08-15 15:14:21 -07:00
ashtneoi
10aaba8dbe Make move errors more consistent with typeck errors 2018-08-15 15:14:21 -07:00
ashtneoi
701c74e067 Make move error suggestions clearer 2018-08-15 15:14:21 -07:00
ashtneoi
b05e9a7f77 Add backquotes around variable name 2018-08-15 15:14:21 -07:00
ashtneoi
8080bdf275 Fix move errors for index expressions
The suggestion logic gave up too early, which kept it from suggesting
borrowing index expressions.
2018-08-15 15:14:21 -07:00
ashtneoi
54ddb36ce7 Test move errors for index expressions 2018-08-15 15:14:21 -07:00
ashtneoi
3a5812bdd9 Add more TODOs 2018-08-15 15:14:21 -07:00
ashtneoi
a05f82fd2d Suggest match ergonomics, not ref/ref mut 2018-08-15 15:14:21 -07:00
Felix S. Klock II
cd89fdbbc9 Removed ignore-test-compare-mode-nll from unboxed-closures tests
by strengthening the tests (by adding no-op references to the
closures doing the borrows after the conflicting borrows, thus
forcing the lifetimes to resemble lexical scopes even under NLL).
2018-08-15 23:47:29 +02:00
Felix S. Klock II
f8084c675e Removed ignore-test-compare-mode-nll from hashmap-lifetimes.rs
by strengthening the test there.
2018-08-15 23:47:28 +02:00
Felix S. Klock II
fb3ccb2aa2 Removed ignore-test-compare-mode-nll from borrowck-closures-two-mut-fail.rs
by strengthening the tests there.
2018-08-15 23:47:28 +02:00
Felix S. Klock II
dd9f84f2d3 Removed ignore-test-compare-mode-nll from borrowck-closures-unique.rs
by strengthening the tests there.

In almost all cases the strengthening amount to just encoding a use
that models the original lexical lifetime. A more invasive revision
was made in one case where it seems the actual issue is MIR-borrowck's
greater "knowledge" of unreachable code in the control flow...
2018-08-15 23:47:28 +02:00
Esteban Küber
1b5e29ae6f Do not emit "incorrect close delimiter" twice in the same place 2018-08-15 14:26:03 -07:00
Esteban Küber
2a74d7924a Tweak unclosed delimiter parser error 2018-08-15 13:18:34 -07:00
Esteban Küber
cea73d6341 update recently moved tests 2018-08-15 13:17:04 -07:00
Esteban Küber
e5e14d307b When closure with no arguments was expected, suggest wrapping 2018-08-15 13:05:01 -07:00
Esteban Küber
5a0a38a46f Do not suggest conversion method that is already there 2018-08-15 13:04:24 -07:00
bors
d767ee1161 Auto merge of #53400 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 8 pull requests

Successful merges:

 - #52453 (improve diagnostics for tests with custom return values)
 - #53271 (use ? to simplify `TransitiveRelation.maybe_map`)
 - #53279 (Extend documentation of `rustc_on_unimplemented`)
 - #53342 (fix error for unsized packed struct field)
 - #53344 (Add doc examples for std::alloc::{alloc,alloc_zeroed}.)
 - #53368 (Ignore test that fails on stage1)
 - #53388 (Fix links' color)
 - #53396 (Fix since of Iterator::flatten to be a proper semver)

Failed merges:

r? @ghost
2018-08-15 19:39:54 +00:00
Guillaume Gomez
a9a67a3a76
Rollup merge of #53368 - matthewjasper:only-stage-2, r=varkor
Ignore test that fails on stage1

The error code is not emitted on stage1, so ignore this test there.
2018-08-15 19:20:26 +02:00
Guillaume Gomez
6bea743d56
Rollup merge of #53342 - RalfJung:unsized-packed, r=cramertj
fix error for unsized packed struct field

It was really confusing to be told "only the last field of a struct may have a dynamically sized type" when only the last field *was* unsized.
2018-08-15 19:20:23 +02:00
bors
d679b57a3a Auto merge of #53164 - davidtwco:issue-52663-span-decl-captured-variables, r=nikomatsakis
Provide span for declaration of captured variables

Part of #52663.

r? @nikomatsakis
2018-08-15 17:03:39 +00:00
Michael Woerister
d662083a6c Use CGU name as LLVM module name and add some caching to CGU name generation. 2018-08-15 14:50:54 +02:00
bors
5db71dbae8 Auto merge of #53133 - Zoxc:gen-int, r=eddyb
Record adjustments and original type for expressions in the generator interior

Fixes https://github.com/rust-lang/rust/issues/50878 and https://github.com/rust-lang/rust/issues/52398.

r? @eddyb
2018-08-15 12:02:00 +00:00
Michael Woerister
e192e498ab Fix some run-make tests after object file naming has changed. 2018-08-15 13:47:39 +02:00
Michael Woerister
c09a8e5223 Adapt codegen-unit tests to new CGU naming scheme. 2018-08-15 13:47:39 +02:00
Michael Woerister
2d2cd21f95 Clean up CodegenUnit name generation. 2018-08-15 13:47:39 +02:00
Ralf Jung
2fd2f9cfaf fix error for unsized packed struct field 2018-08-15 10:53:26 +02:00
bors
81cfaad030 Auto merge of #53212 - sunjay:nll-raw-cast, r=nikomatsakis
NLL - Prevent where clauses from extending the lifetime of bindings

Fixes https://github.com/rust-lang/rust/issues/53123

r? @nikomatsakis
2018-08-15 06:54:18 +00:00
Unknown
0d0c08f9bb pretty printing for btreemap 2018-08-15 13:48:10 +09:00
varkor
bc8cead070 Account for warning in existing GAT tests 2018-08-15 02:08:20 +01:00
varkor
d305f68cb9 Warn when generic_associated_types feature gate is enabled 2018-08-15 02:02:52 +01:00
Felix S. Klock II
c7041a60a5 Updated the most glaring instances of weak tests w.r.t. NLL that came from #53196.
See also the bulletpoint list on #53351.
2018-08-15 01:16:05 +02:00
Matthew Jasper
0e43e6fef2 Ignore test that fails on stage1 2018-08-14 22:42:16 +01:00
Vadim Petrochenkov
097c40cf6e syntax: Enforce attribute grammar in the parser 2018-08-15 00:05:55 +03:00
Matthew Jasper
a19db49c86 Update former compile-fail tests 2018-08-14 21:26:33 +01:00
varkor
83d5a60cf6 Feature gate where clauses on associated type impls 2018-08-14 21:08:21 +01:00
Matthew Jasper
371c23fe34 Update tests 2018-08-14 20:35:47 +01:00
Pramod Bisht
b70be5bc79 Adddressed #51602 2018-08-14 19:05:27 +00:00
bors
a5733050de Auto merge of #53354 - kennytm:rollup, r=kennytm
Rollup of 11 pull requests

Successful merges:

 - #53112 (pretty print BTreeSet)
 - #53208 (Don't panic on std::env::vars() when env is null.)
 - #53226 (driver: set the syntax edition in phase 1)
 - #53229 (Make sure rlimit is only ever increased)
 - #53233 (targets: aarch64: Add bare-metal aarch64 target)
 - #53239 (rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5.)
 - #53246 (A few cleanups)
 - #53257 (Idiomatic improvements to IP method)
 - #53274 (Remove statics field from CodegenCx)
 - #53290 (Make LLVM emit assembly comments with -Z asm-comments)
 - #53317 (Mark prior failure to avoid ICE)
2018-08-14 17:24:18 +00:00
David Wood
5532e9dec5
Improved how upvars are detected when presenting errors using prefixes. 2018-08-14 18:38:57 +02:00
kennytm
8e7f69af9c
Rollup merge of #53317 - estebank:abolish-ice, r=oli-obk
Mark prior failure to avoid ICE

Fix #53251
2018-08-14 23:59:17 +08:00
kennytm
eeab08e97a
Rollup merge of #53226 - QuietMisdreavus:editions-for-all, r=estebank
driver: set the syntax edition in phase 1

Fixes https://github.com/rust-lang/rust/issues/53203

It seems the way libsyntax handles the desired edition is to use a global, set via `syntax_pos::hygiene::set_default_edition`. Right now, this is set in the driver in `run_compiler`, which is the entry point for running the compiler all the way through to emitting files. Since rustdoc doesn't use this function, it wasn't properly setting this global. (When initially setting up editions in rustdoc, i'd assumed that setting `sessopts.edition` would have done this... `>_>`) This was "fixed" for doctests in https://github.com/rust-lang/rust/pull/52385, but rather than patching in a call to `set_default_edition` in all the places rustdoc sets up the compiler, i've instead moved the call in the driver to be farther in the process. This means that any use of `phase_1_parse_input` with the right session options will have the edition properly set without having to also remember to set libsyntax up separately.

r? @rust-lang/compiler
2018-08-14 23:59:07 +08:00
kennytm
700c5e89f2
Rollup merge of #53208 - BurntPizza:protect-the-environment, r=alexcrichton
Don't panic on std::env::vars() when env is null.

Fixes #53200.

Reviewer(s):
* Do I need to do any `#[cfg()]` here?
* Is this use of libc ok for a dev-dependency?
2018-08-14 23:59:05 +08:00
kennytm
e401638d08
Rollup merge of #53112 - fukatani:pretty-print-btreeset, r=michaelwoerister
pretty print BTreeSet

I want pretty printing for BTreeSet.
```rust
use std::collections::*;

fn main() {
  let mut s = BTreeSet::new();
  s.insert(5);
  s.insert(3);
  s.insert(7);
  s.remove(&3);
  println!("{:?}", s);
}
```

```
(gdb) b 9
(gdb) p s
$1 = BTreeSet<i32> with 2 elements = {[0] = 5, [1] = 7}
```
This is analogy of pretty printing for C++ std::set.
2018-08-14 23:59:04 +08:00
David Wood
2c6b0e5cf7
Label definition of captured variables in errors. 2018-08-14 17:36:03 +02:00
bors
23f09bbed4 Auto merge of #53085 - ljedrz:cleanup_syntax_structures, r=ljedrz
Move SmallVector and ThinVec out of libsyntax

- move `libsyntax::util::SmallVector` tests to `librustc_data_structures::small_vec`
- remove `libsyntax::util::SmallVector`
- move `libsyntax::util::thin_vec` to `librustc_data_structures::thin_vec`

Other than moving these data structures where they belong it allows modules using `SmallVector<T>` (`SmallVec<[T; 1]>`) to specify their own length (e.g. 8 or 32) independently from `libsyntax`.
2018-08-14 15:09:37 +00:00