Commit Graph

97799 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
051598b29e
Rollup merge of #63511 - pietroalbini:pa-ci-date, r=Mark-Simulacrum
ci: add a check for clock drift

Recently we encountered multiple spurious failures where the crates.io
certificate was reported as expired, even though it's currently due to
expire in a few months. This adds some code to our CI to check for clock
drifts, to possibly find the cause or rule out a bad VM clock.

cc https://github.com/rust-lang/rust/issues/63510
r? @Mark-Simulacrum
2019-08-14 04:18:52 +02:00
Mazdak Farrokhzad
43f4990fc4
Rollup merge of #63508 - estebank:compromice, r=petrochenkov
Do not ICE when synthesizing spans falling inside unicode chars

Fix https://github.com/rust-lang/rust/issues/61226.
2019-08-14 04:18:51 +02:00
Mazdak Farrokhzad
5741e29417
Rollup merge of #63501 - nikomatsakis:issue-63500-async-anon-impl-lifetime, r=cramertj
use `ParamName` to track in-scope lifetimes instead of Ident

Also, clear in-scope lifetimes when visiting nested items.

Fixes #63500.
Fixes #63225.
Fixes #52532.

r? @cramertj
2019-08-14 04:18:49 +02:00
Mazdak Farrokhzad
4134241bcf
Rollup merge of #63499 - nikomatsakis:issuee-63388-async-fn-elision-self-mut-self, r=cramertj
handle elision in async fn correctly

We now always make fresh lifetimne parameters for all elided
lifetimes, whether they are in the inputs or outputs. But then
we generate `'_` in the case of elided lifetimes from the outputs.

Example:

```rust
async fn foo<'a>(x: &'a u32) -> &u32 { .. }
```

becomes

```rust
type Foo<'a, 'b> = impl Future<Output = &'b u32>;
fn foo<'a>(x: &'a u32) -> Foo<'a, '_>
```

Fixes #63388
2019-08-14 04:18:48 +02:00
Mazdak Farrokhzad
0098d0c514
Rollup merge of #63493 - sd234678:remove-unneeded-comment-from-src/libcore/hash, r=Centril
Remove unneeded comment in src/libcore/hash/mod.rs

Split out from larger PR #63347 - other sections in there require further discussion.

r? @Centril
2019-08-14 04:18:47 +02:00
Mazdak Farrokhzad
f47226e0c4
Rollup merge of #63488 - RalfJung:diagnostic-docs, r=zackmdavis
improve DiagnosticBuilder docs

Cc @estebank @oli-obk

Is there any way to do something like `span_note` but with a label attached to the span? I thought `.span_note().span_label()` would do it, but no, that does not work.
2019-08-14 04:18:45 +02:00
Mazdak Farrokhzad
4e1b865955
Rollup merge of #63486 - Observer42:document-from-trait-in-binaryheap, r=Centril
Document `From` trait for `BinaryHeap`

This PR solves part of #51430. (cc @skade)

The comments described allocation and time complexity of the conversion from Vec to BinaryHeap

The complexity description of BinaryHeap operations is available at mod level:
https://doc.rust-lang.org/alloc/collections/binary_heap/index.html

But it doesn't show up at BinaryHeap page:
https://doc.rust-lang.org/alloc/collections/binary_heap/struct.BinaryHeap.html
2019-08-14 04:18:44 +02:00
Mazdak Farrokhzad
6092519e44
Rollup merge of #63485 - pietroalbini:new-mirror-bucket, r=alexcrichton
ci: move mirrors to their standalone bucket

Currently mirrors are stored in the rust-lang-ci2 S3 bucket along with
CI toolchains. This is problematic for multiple reasons:

- CI IAM credentials are allowed to both edit and delete those files.
  A malicious user gaining access to those credentials would be able to
  change our mirrored dependencies, possibly compromising the compiler.

- Contents of the rust-lang-ci2 bucket are disposable except for the
  mirrors' content. When we implement backups for S3 buckets we'd have
  to replicate just that part of the bucket, complicating the backup
  logic and increasing the chance of mistakes. A standalone bucket will
  be way easier to backup.

This commit switches our CI to use the new rust-lang-ci-mirrors bucket.

r? @alexcrichton
2019-08-14 04:18:43 +02:00
Mazdak Farrokhzad
c824839471
Rollup merge of #63475 - iluuu1994:issue-62632, r=Centril
Bring back suggestion for splitting `<-` into `< -`

Closes #62632
2019-08-14 04:18:42 +02:00
Mazdak Farrokhzad
76bd7d62d6
Rollup merge of #63459 - eddyb:issue-63430, r=petrochenkov
syntax: account for CVarArgs being in the argument list.

Fixes #63430 by testing for `1` argument (the `CVarArgs` itself) instead of `0`.

Note that the error has basically been impossible to trigger since the change that caused #63430, so perhaps we need an audit of untested errors.

Also, this check probably belongs in AST validation/HIR lowering, but I'd rather fix it in place for now.

r? @petrochenkov cc @dlrobertson
2019-08-14 04:18:40 +02:00
Mazdak Farrokhzad
b5df4bb7eb
Rollup merge of #63421 - clarfon:escape_default, r=dtolnay
Implement Clone, Display for ascii::EscapeDefault

This will mimic the same behaviour as the `char` version; `Display`ing the iterator will give its string representation without advancing it.
2019-08-14 04:18:39 +02:00
Mazdak Farrokhzad
3d5387d39b
Rollup merge of #63383 - Centril:async-lifetime-elision-tests, r=nikomatsakis
`async fn` lifetime elision tests

Add `async fn` version of the tests in https://github.com/rust-lang/rust/pull/61207 per the first checkbox in https://github.com/rust-lang/rust/issues/62121#issuecomment-506884048.
Works towards resolving blockers in https://github.com/rust-lang/rust/pull/63209.

r? @nikomatsakis
cc @cramertj
2019-08-14 04:18:37 +02:00
Mazdak Farrokhzad
3f18112079
Rollup merge of #62849 - davidtwco:prohibit-inheriting-lifetimes, r=nikomatsakis
typeck: Prohibit RPIT types that inherit lifetimes

Part of #61949.

This PR prohibits return position `impl Trait` types that "inherit
lifetimes" from the parent scope. The intent is to forbid cases that are
challenging until they can be addressed properly.

cc @nikomatsakis
2019-08-14 04:18:36 +02:00
Mazdak Farrokhzad
dda33cad38
Rollup merge of #62760 - chansuke:dedupe-error-messages, r=zackmdavis
Deduplicate error messages in `librsctc_mir`

Deduplicated the error messages in `librustc_mir`. #62022
2019-08-14 04:18:35 +02:00
Caio
9348af8396 Add NodeId for Arm, Field and FieldPat 2019-08-13 22:42:10 -03:00
Mazdak Farrokhzad
9287eb647f typeck: add tests for suggesting -> 2018 on wrong <expr>.await 2019-08-14 01:52:16 +02:00
Mazdak Farrokhzad
88398a429c typeck: on wrong <expr>.await suggest -> 2018 2019-08-14 01:51:41 +02:00
Esteban Küber
806476c840 Suggest giving return type to closures on E0282 2019-08-13 16:41:43 -07:00
Vadim Petrochenkov
d416ebeb6e expand: Unimplement MutVisitor on MacroExpander
Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't be hide under a generic visitor call.

Also, from all the implemented visitor methods only two were actually used.
2019-08-14 02:35:01 +03:00
Vadim Petrochenkov
0d29142aad expand: expand_fragment -> fully_expand_fragment 2019-08-14 01:59:14 +03:00
Mazdak Farrokhzad
07414417c5 typeck: restructure check_field a bit 2019-08-14 00:50:39 +02:00
Mazdak Farrokhzad
01e96dc583 typeck: extract suggest_fields_on_recordish 2019-08-14 00:40:44 +02:00
Mazdak Farrokhzad
039c789325 typeck: extract suggest_first_deref_field 2019-08-14 00:31:08 +02:00
Mazdak Farrokhzad
9805846881 typeck: extract maybe_suggest_array_indexing 2019-08-14 00:30:06 +02:00
Eric Huss
643ddfaaa8
Apply Centril's suggestion
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-08-13 15:09:11 -07:00
Mazdak Farrokhzad
5e019def0d typeck: extract ban_take_value_of_method 2019-08-13 23:59:22 +02:00
Mazdak Farrokhzad
0b713ae919 typeck: extract ban_private_field_access 2019-08-13 23:54:20 +02:00
Mark Rousskov
417f9ea90c Utilize -Zbinary-dep-depinfo for dependency tracking 2019-08-13 17:04:46 -04:00
Esteban Küber
84e202e6b3 review comments 2019-08-13 11:35:49 -07:00
Esteban Küber
25d507f497 review comment: move test 2019-08-13 11:29:33 -07:00
Esteban Küber
939c1cb349 review comments 2019-08-13 11:24:08 -07:00
Eric Huss
ea1a9a0e2b Fix typo in error message. 2019-08-13 11:21:09 -07:00
Anders Kaseorg
c259d1c7c8 RELEASES.md: ? is one of three Kleene operators
The slash and quotes in ?/“Kleene” appeared to define “Kleene” as the
name for the ? operator, which is not the case.  Rust has three Kleene
operators *, +, ?.

(Pointed out by /u/Sharlinator on Reddit.)

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-08-13 11:06:37 -07:00
Vadim Petrochenkov
376636e517 syntax: Remove DummyResult::expn_only 2019-08-13 20:53:49 +03:00
Joel Galenson
692c0bf4ff Do not track the sysroot.
As suggested by @alexcrichton, the sysroot only loads libraries that
are themselves tracked.
2019-08-13 09:12:06 -07:00
Esteban Küber
105b3a0b02 review comment: remove unecessary error in test 2019-08-13 09:01:56 -07:00
Niko Matsakis
18d69c8ebe bless tests with compare-mode=nll 2019-08-13 09:13:50 -04:00
Mark Rousskov
e9b3a01764 Bump to 1.39 2019-08-13 07:16:04 -04:00
Gurwinder Singh
84cab928db
Provide map_ok and map_err method for Poll<Option<Result<T, E>>> 2019-08-13 15:15:33 +05:30
Martin Finkel
1581c43be0 review feedback: add comments and use local flavor variable 2019-08-13 11:11:35 +02:00
Pietro Albini
686553dfce
ci: add a check for clock drift
Recently we encountered multiple spurious failures where the crates.io
certificate was reported as expired, even though it's currently due to
expire in a few months. This adds some code to our CI to check for clock
drifts, to possibly find the cause or rule out a bad VM clock.
2019-08-13 09:52:35 +02:00
Esteban Küber
13fd4666b0 Point at the right enclosing scope when using await in non-async fn 2019-08-13 00:52:07 -07:00
Esteban Küber
d824edfc2c Do not ICE when synthesizing spans falling inside unicode chars 2019-08-12 23:31:13 -07:00
Esteban Küber
fb2511c3c5 Suggest Box::new when appropriate
When encountering a boxed value as expected and a stack allocated value
that could be boxed to fulfill the expectation, like in the following
snippet, suggest `Box::new` wrapping.
2019-08-12 20:24:30 -07:00
Esteban Küber
1e6f753762 Fix tidy 2019-08-12 20:24:26 -07:00
Niko Matsakis
d7c7c52dbc bless tests 2019-08-12 21:13:59 -04:00
Esteban Küber
3b6d46c640 Resolve types when suggesting boxed closure 2019-08-12 18:12:19 -07:00
Niko Matsakis
e4756e6b07 clear in-scope lifetimes for nested items in HIR lowering
This was causing us to incorrectly think the lifetimes were
already declared on the scope for the nested item, when in fact
they are not inherited.
2019-08-12 21:08:32 -04:00
Josh Stone
bca6f28f7f Force optimization in 32-bit iter overflow tests 2019-08-12 17:29:34 -07:00
Esteban Küber
b8708e2c9a When needing type annotations in local bindings, account for impl Trait and closures
Do not suggest nonsensical types when the type inference is failing on
`impl Trait` or anonymous closures.
2019-08-12 16:50:46 -07:00