Commit Graph

96145 Commits

Author SHA1 Message Date
bors
ef064d2f66 Auto merge of #61871 - Zoxc:no-lift-branch, r=eddyb
Don't use lift to detect local types

This overlaps with https://github.com/rust-lang/rust/pull/61392.

r? @eddyb
2019-07-02 08:09:15 +00:00
Petr Hosek
069c52fa11 Check if the archive has already been added to avoid duplicates
This avoids adding archives multiple times, which results in duplicate
objects in the resulting rlib, leading to symbol collision and link
failures. This could happen when crate contains multiple link attributes
that all reference the same archive.
2019-07-02 00:42:56 -07:00
Ralf Jung
2bad604587 request at least ptr-size alignment from posix_memalign 2019-07-02 09:20:41 +02:00
Eduard-Mihai Burtescu
f6e5ac640b rustc_mir: treat DropAndReplace as Drop + Assign in qualify_consts. 2019-07-02 09:33:55 +03:00
Chris Gregory
eddfad3140 Fix import of take in collapse_docs.rs 2019-07-01 20:21:53 -07:00
Chris Gregory
1443abcdef Revert change in compiletest 2019-07-01 20:21:53 -07:00
Chris Gregory
b0c199a969 Enable mem_take feature in relevant crates 2019-07-01 20:21:53 -07:00
Chris Gregory
636f5e6d11 Convert more usages over 2019-07-01 20:21:12 -07:00
Chris Gregory
8a3797b736 Use mem::take instead of mem::replace with default 2019-07-01 20:21:12 -07:00
Mark Rousskov
353b5d413e Fix michaelwoerister's mailmap 2019-07-01 20:23:35 -04:00
bors
99abdfa0b5 Auto merge of #62279 - pietroalbini:fix-azure-crlf, r=alexcrichton
ci: explicitly disable CRLF conversion on Windows

The Azure image enables CRLF conversion on Windows builders, but that caused regressions both in our test suite (the miri test suite broke) and in the ecosystem, since we started shipping install scripts with CRLF endings instead of the old LF. The [Godbolt Compiler Explorer](https://godbolt.org/) is one such case of breakage.

This adds a step to the build explicitly disabling the conversion before the repository is checked out.

r? @alexcrichton
cc @gnzlbg
2019-07-01 22:33:54 +00:00
Ralf Jung
b49fb76dba miri realloc: do not require giving old size+align 2019-07-01 23:48:58 +02:00
Jonathan Behrens
515da7249e
Target::arch can take more than listed options
A list of options in a comment like this is almost guaranteed to become out of date. This list is missing "riscv32" and "riscv64" and perhaps other architectures as well.
2019-07-01 17:31:52 -04:00
Vadim Kaushan
c65ffa789d
Use code model 'medium' for 64-bit RISC-V targets 2019-07-01 23:52:40 +03:00
Vadim Kaushan
fea8194a49
Update LLVM: apply patches for pc-relative addressing on 64-bit RISC-V 2019-07-01 23:52:04 +03:00
Pietro Albini
239a404cae
ci: explicitly disable CRLF conversion on Windows
The Azure image enables CRLF conversion on Windows builders, but that
caused regressions both in our test suite (the miri test suite broke)
and in the ecosystem, since we started shipping install scripts with
CRLF endings instead of the old LF. The Godbolt Compiler Explorer is one
such case of breakage.

This adds a step to the build explicitly disabling the conversion before
the repository is checked out.
2019-07-01 21:57:08 +02:00
Tyler Mandry
a68e2c7161 Clean up extra lifetime, add assertions 2019-07-01 12:19:30 -07:00
bors
17e62f77f9 Auto merge of #62267 - GuillaumeGomez:revert-implicit-option-return, r=Centril
Revert "implicit `Option`-returning doctests"

Reverts #61279 as discussed in #61360.

cc @Centril
2019-07-01 18:49:30 +00:00
Paweł Romanowski
2b47a085dd Address review remarks in unicode.py 2019-07-01 19:43:48 +02:00
bors
6ea4036cd2 Auto merge of #62247 - pietroalbini:finish-azure-migration, r=Mark-Simulacrum
ci: finish the migration to azure

This moves to azure the last builders as we discussed on Discord last night.

r? @alexcrichton
2019-07-01 15:14:16 +00:00
Pietro Albini
dc9d2b34df
bump miri to fix line endings on azure 2019-07-01 17:12:31 +02:00
Igor Matuszewski
8c96088853
Update RLS to disable spurious client_find_definitions test
Since switching CI to Azure Pipelines it seems that this test seems
to fail more consistently, so let's disable that for now. It helps
that we have less than a week before release - we disallow PRs that
break the tools to land in this period, so this makes landing critical
PRs smoother  now.

r? @alexcrichton
2019-07-01 17:12:29 +02:00
Pietro Albini
1992931c9e
ci: finish the migration to azure 2019-07-01 17:12:28 +02:00
Guillaume Gomez
a683bb1754 Revert "implicit Option-returning doctests"
This reverts commit 6bb6c001be.
2019-07-01 16:41:37 +02:00
John Kåre Alsaker
8d6b1d10d4 Clean up inherent_impls 2019-07-01 14:53:58 +02:00
Eduard-Mihai Burtescu
c6374cfbe2 rustc: use a separate copy of P for HIR than for AST. 2019-07-01 14:34:34 +03:00
Eduard-Mihai Burtescu
25a920648a syntax: use box instead of Box::new in ptr::P. 2019-07-01 13:39:37 +03:00
Eduard-Mihai Burtescu
7e5f6c7f83 rustc: always keep hir::Path behind a P<...>. 2019-07-01 13:39:37 +03:00
Jeremy Stucki
47ea8ae022
Remove needless lifetimes 2019-07-01 12:15:27 +02:00
Vadim Petrochenkov
d0dc41a2bd Address review comments 2019-07-01 12:20:54 +03:00
Vadim Petrochenkov
3f39dc1b90 syntax: Unsupport foo! bar { ... } macros in the parser
Unreserve `macro_rules` as a macro name
2019-07-01 12:20:54 +03:00
bors
765eebf064 Auto merge of #62253 - Centril:rollup-115uuuq, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #62062 (Use a more efficient iteration order for forward dataflow)
 - #62063 (Use a more efficient iteration order for backward dataflow)
 - #62224 (rustdoc: remove unused derives and variants)
 - #62228 (Extend the #[must_use] lint to boxed types)
 - #62235 (Extend the `#[must_use]` lint to arrays)
 - #62239 (Fix a typo)
 - #62241 (Always parse 'async unsafe fn' + properly ban in 2015)
 - #62248 (before_exec actually will only get deprecated with 1.37)

Failed merges:

r? @ghost
2019-07-01 06:41:48 +00:00
bors
5748825cc8 Auto merge of #61682 - Centril:stabilize-type_alias_enum_variants, r=petrochenkov
Stabilize `type_alias_enum_variants` in Rust 1.37.0

Stabilize `#![feature(type_alias_enum_variants)]` which allows type-relative resolution with highest priority to `enum` variants in both expression and pattern contexts. For example, you may now write:

```rust
enum Option<T> {
    None,
    Some(T),
}

type OptAlias<T> = Option<T>;

fn work_on_alias(x: Option<u8>) -> u8 {
    match x {
        OptAlias::Some(y) => y + 1,
        OptAlias::None => 0,
    }
}
```

Closes https://github.com/rust-lang/rfcs/issues/2218
Closes https://github.com/rust-lang/rust/issues/52118

r? @petrochenkov
2019-07-01 03:11:19 +00:00
Ralf Jung
05f4a574f6 forward read_c_str method from Memory to Alloc 2019-07-01 00:16:26 +02:00
Mazdak Farrokhzad
de00ae7266 Switch tracking issue for 'slice_patterns'. 2019-06-30 23:23:11 +02:00
Mazdak Farrokhzad
1abbf4b864
Rollup merge of #62248 - RalfJung:release-notes, r=Mark-Simulacrum
before_exec actually will only get deprecated with 1.37

Not sure if we usually fix old release notes, but I just found this when scrolling over them.
2019-06-30 21:57:32 +02:00
Mazdak Farrokhzad
43eba5fef2
Rollup merge of #62241 - Centril:fix-async-unsafe-order, r=petrochenkov
Always parse 'async unsafe fn' + properly ban in 2015

Parse `async unsafe fn` not `unsafe async fn` in implementations. We also take the opportunity to properly ban `async fn` in Rust 2015 when they are inside implementations.

Closes https://github.com/rust-lang/rust/issues/62232.

cc https://github.com/rust-lang/rust/pull/61319, https://github.com/rust-lang/rust/issues/62121, and https://github.com/rust-lang/rust/issues/62149.

r? @petrochenkov
2019-06-30 21:57:30 +02:00
Mazdak Farrokhzad
690f9e422e
Rollup merge of #62239 - lcolaholicl:lcolaholicl-patch-1, r=kennytm
Fix a typo

The definition of 京 seems to be capital, but not capitol.
[reference](https://en.wiktionary.org/wiki/%E4%BA%AC#Etymology_1)
[another reference](https://jisho.org/word/%E4%BA%AC)
2019-06-30 21:57:29 +02:00
Mazdak Farrokhzad
2b313b1d32
Rollup merge of #62235 - varkor:must_use-adt-components, r=Centril
Extend the `#[must_use]` lint to arrays

Based on top of https://github.com/rust-lang/rust/pull/62228.

r? @Centril
2019-06-30 21:57:28 +02:00
Mazdak Farrokhzad
c779f4e89c
Rollup merge of #62228 - varkor:must_use-trait-in-box, r=Centril
Extend the #[must_use] lint to boxed types

Fixes https://github.com/rust-lang/rust/issues/55506#issuecomment-506940181 (cc @Nemo157).

This should have been included as part of https://github.com/rust-lang/rust/pull/55663, but was overlooked.
2019-06-30 21:57:27 +02:00
Mazdak Farrokhzad
1683bb7771
Rollup merge of #62224 - euclio:remove-derives, r=GuillaumeGomez
rustdoc: remove unused derives and variants

Though many structs in rustdoc derive `RustcEncodable` and `RustcDecodable`, the impls do not appear to be used by the crate or its dependents. Removing them revealed some enum variants that are never constructed, too.

r? @GuillaumeGomez
2019-06-30 21:57:25 +02:00
Mazdak Farrokhzad
70ea57bcb3
Rollup merge of #62063 - ecstatic-morse:dataflow-backward-order, r=nagisa
Use a more efficient iteration order for backward dataflow

This applies the same basic principle as #62062 to the reverse dataflow analysis used to compute liveness information. It is functionally equivalent, except that post-order is used instead of reverse post-order.

In the long-term, `BitDenotation` should probably be extended to support both forward and backward dataflow, but there's some more work needed to get to that point.
2019-06-30 21:57:24 +02:00
Mazdak Farrokhzad
543c4648bd
Rollup merge of #62062 - ecstatic-morse:dataflow-order, r=nagisa
Use a more efficient iteration order for forward dataflow

Currently, dataflow begins by visiting each block in order of ID (`BasicBlock(0)`, `BasicBlock(1)`, etc.). This PR changes that initial iteration to reverse post-order (see [this blog post](https://eli.thegreenplace.net/2015/directed-graph-traversal-orderings-and-applications-to-data-flow-analysis/#data-flow-analysis) for more info). This ensures that the effects of all predecessors will be applied before a basic block is visited if the CFG has no back-edges, and should result in less total iterations even when back-edges exist. This should not change the results of dataflow analysis.

The current ordering for basic blocks may be pretty close to RPO already--`BasicBlock(0)` is already the start block--in which case the cost of doing the traversal up front will outweigh the efficiency gains.
A perf run is needed to check this.

r? @pnkfelix (I think).
2019-06-30 21:57:22 +02:00
Chris Gregory
f7061db7e9 Update mem::replace example to not be identical to mem::take
This also adds assertions that the operations work as expected.
2019-06-30 12:27:32 -07:00
Chris Gregory
fc70c37d16 Improve box clone doctests to ensure the documentation is valid 2019-06-30 11:56:21 -07:00
varkor
76f5b50716 Extend #[must_use] lint to arrays 2019-06-30 18:20:49 +01:00
varkor
400fd6055f Update miri 2019-06-30 18:19:28 +01:00
varkor
75f31e78b8 Fix run-pass tests 2019-06-30 18:19:28 +01:00
varkor
d066f19a79 Improve error messages for boxed trait objects in tuples 2019-06-30 18:19:28 +01:00
varkor
b613ef1436 Extend the #[must_use] lint to boxed types 2019-06-30 18:19:28 +01:00