]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agocollector: clarify dependencies
Mazdak Farrokhzad [Tue, 7 Jan 2020 13:38:27 +0000 (14:38 +0100)]
collector: clarify dependencies

4 years agocollector: use impl Trait
Mazdak Farrokhzad [Tue, 7 Jan 2020 13:22:44 +0000 (14:22 +0100)]
collector: use impl Trait

4 years agocollector: extract upstream_crates
Mazdak Farrokhzad [Tue, 7 Jan 2020 13:19:35 +0000 (14:19 +0100)]
collector: extract upstream_crates

4 years agocanonicalize imports in map::block
Mazdak Farrokhzad [Tue, 7 Jan 2020 12:55:08 +0000 (13:55 +0100)]
canonicalize imports in map::block

4 years agoAuto merge of #67770 - Centril:reduce-diversity-2, r=petrochenkov
bors [Wed, 8 Jan 2020 12:12:08 +0000 (12:12 +0000)]
Auto merge of #67770 - Centril:reduce-diversity-2, r=petrochenkov

More reductions in error handling diversity

In this follow up to https://github.com/rust-lang/rust/pull/67744, we:

- Remove all fatal / error / warning macros in `syntax` except for `struct_span_err`, which is moved to `rustc_errors`.

- Lintify some hard-coded warnings which used warning macros.

- Defatalize some errors.

In general, the goal here is to make it painful to use fatal or unstructured errors and so we hopefully won't see many of these creep in.

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

4 years agoAuto merge of #67760 - Mark-Simulacrum:rustc-dirty, r=alexcrichton
bors [Wed, 8 Jan 2020 09:03:46 +0000 (09:03 +0000)]
Auto merge of #67760 - Mark-Simulacrum:rustc-dirty, r=alexcrichton

Clear out target directory if compiler has changed

Previously, we relied fully on Cargo to detect that the compiler had changed and
it needed to rebuild the standard library (or later "components"). This used to
not quite be the case prior to moving to LLVM be a separate cargo invocation;
subsequent compiles would recompile std and friends if LLVM had changed
(#67077 is the PR that changes things here).

This PR moves us to clearing out libstd when it is being compiled if the rustc
we're using has changed. We fairly harshly limit the cases in which we do this
(e.g., ignoring dry run mode, and so forth, as well as rustdoc invocations).
This is primarily because when we're not using the compiler directly, so
clearing out in other cases is likely to lead to bugs, particularly as our
deletion scheme is pretty blunt today (basically removing more than is needed,
i.e., not just the rustc artifacts).

In practice, this targeted fix does fix the known bug, though it may not fully
resolve the problem here. It's also not clear that there is a full fix hiding
here that doesn't involve a more major change (like -Zbinary-dep-depinfo was).

As a drive-by fix, don't delete the compiler before calling Build::copy, as that
also deletes the compiler.

4 years agoAuto merge of #67733 - pietroalbini:gha-2, r=alexcrichton
bors [Wed, 8 Jan 2020 05:05:06 +0000 (05:05 +0000)]
Auto merge of #67733 - pietroalbini:gha-2, r=alexcrichton

GitHub Actions: preparations, part 2

This PR adds the second batch of commits in preparation for GitHub Actions:

* Removed hardcoded Azure Pipelines variables from `publish_toolstate.sh`
* Fixed a bug in `shared.sh`'s GitHub Actions support
* Fixed binutils missing from MSYS2 on Windows 2019 (GitHub Actions-specific)
* Fixed wrong sysroot in macOS 10.15 onwards (GitHub Actions-specific)

This PR does **not** yet add any builders on GitHub Actions.

r? @alexcrichton

4 years agospan_to_lines: account for DUMMY_SP
Mazdak Farrokhzad [Mon, 6 Jan 2020 10:46:30 +0000 (11:46 +0100)]
span_to_lines: account for DUMMY_SP

4 years ago- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}
Mazdak Farrokhzad [Tue, 31 Dec 2019 20:25:16 +0000 (21:25 +0100)]
- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}
- remove syntax::{help!, span_help!, span_note!}
- remove unused syntax::{struct_span_fatal, struct_span_err_or_warn!, span_err_or_warn!}
- lintify check_for_bindings_named_same_as_variants + conflicting_repr_hints
- inline syntax::{struct_span_warn!, diagnostic_used!}
- stringify_error_code! -> error_code! & use it more.
- find_plugin_registrar: de-fatalize an error
- de-fatalize metadata errors
- move type_error_struct! to rustc_typeck
- struct_span_err! -> rustc_errors

4 years agoAuto merge of #67970 - cjgillot:inherent, r=Centril
bors [Tue, 7 Jan 2020 21:23:19 +0000 (21:23 +0000)]
Auto merge of #67970 - cjgillot:inherent, r=Centril

Minimize dependencies on trait and infer inside librustc

Split from #67953

All commits should pass check on their own.

r? @Centril

4 years agoRename traits::drop -> traits::misc.
Camille GILLOT [Tue, 7 Jan 2020 18:36:50 +0000 (19:36 +0100)]
Rename traits::drop -> traits::misc.

4 years agoAuto merge of #67312 - cuviper:clone-box-slice, r=SimonSapin
bors [Tue, 7 Jan 2020 18:10:56 +0000 (18:10 +0000)]
Auto merge of #67312 - cuviper:clone-box-slice, r=SimonSapin

Simplify Clone for Box<[T]>

The bespoke `BoxBuilder` was basically a very simple `Vec`. Instead,
let's clone to a real `Vec`, with all of its specialization for the
task, then convert back to `Box<[T]>`.

4 years agoMove magic traits queries to rustc::traits::drop.
Camille GILLOT [Sun, 5 Jan 2020 22:43:45 +0000 (23:43 +0100)]
Move magic traits queries to rustc::traits::drop.

4 years agoMove required_region_bounds to rustc::infer::opaque_types.
Camille GILLOT [Sun, 5 Jan 2020 22:28:45 +0000 (23:28 +0100)]
Move required_region_bounds to rustc::infer::opaque_types.

4 years agoMove free_region_map to rustc::ty.
Camille GILLOT [Sun, 5 Jan 2020 22:08:02 +0000 (23:08 +0100)]
Move free_region_map to rustc::ty.

4 years agoMove structural_match to rustc::traits.
Camille GILLOT [Sun, 5 Jan 2020 22:02:07 +0000 (23:02 +0100)]
Move structural_match to rustc::traits.

4 years agoMove ty::wf to traits.
Camille GILLOT [Sun, 5 Jan 2020 19:52:34 +0000 (20:52 +0100)]
Move ty::wf to traits.

4 years agoMake traits::util::* free functions.
Camille GILLOT [Sun, 5 Jan 2020 19:27:00 +0000 (20:27 +0100)]
Make traits::util::* free functions.

4 years agoMove subst_and_normalize_erasing_regionsto rustc::ty.
Camille GILLOT [Sun, 5 Jan 2020 18:52:56 +0000 (19:52 +0100)]
Move subst_and_normalize_erasing_regionsto rustc::ty.

4 years agoMove normalize_erasing_regions to rustc::ty.
Camille GILLOT [Sun, 5 Jan 2020 18:43:25 +0000 (19:43 +0100)]
Move normalize_erasing_regions to rustc::ty.

4 years agoMake rustc::traits::object_safety::{astconv_object_safety_violations,is_vtable_safe_m...
Camille GILLOT [Sun, 5 Jan 2020 17:07:29 +0000 (18:07 +0100)]
Make rustc::traits::object_safety::{astconv_object_safety_violations,is_vtable_safe_method,object_safety_violations} free functions.

4 years agoMake rustc::traits::error_reporting::{recursive_type_with_infinite_size_error, report...
Camille GILLOT [Sun, 5 Jan 2020 16:51:09 +0000 (17:51 +0100)]
Make rustc::traits::error_reporting::{recursive_type_with_infinite_size_error, report_object_safety_error} free functions.

4 years agoMake rustc::infer::error_reporting::{note_and_explain_free_region, note_and_explain_r...
Camille GILLOT [Sun, 5 Jan 2020 15:11:18 +0000 (16:11 +0100)]
Make rustc::infer::error_reporting::{note_and_explain_free_region, note_and_explain_region} free functions.

4 years agoRemove private methods from TyCtxt impl block: rustc::ty::print::pretty.
Camille GILLOT [Sun, 5 Jan 2020 14:59:02 +0000 (15:59 +0100)]
Remove private methods from TyCtxt impl block: rustc::ty::print::pretty.

4 years agoRemove private methods from TyCtxt impl block: rustc::ty::outlives.
Camille GILLOT [Sun, 5 Jan 2020 14:57:38 +0000 (15:57 +0100)]
Remove private methods from TyCtxt impl block: rustc::ty::outlives.

4 years agoRemove trivial function.
Camille GILLOT [Sun, 5 Jan 2020 14:52:31 +0000 (15:52 +0100)]
Remove trivial function.

4 years agoRemove private methods from TyCtxt impl block: rustc::trait::object_safety.
Camille GILLOT [Sun, 5 Jan 2020 14:48:46 +0000 (15:48 +0100)]
Remove private methods from TyCtxt impl block: rustc::trait::object_safety.

4 years agoRemove private methods from TyCtxt impl block: rustc::middle::stability.
Camille GILLOT [Sun, 5 Jan 2020 14:34:45 +0000 (15:34 +0100)]
Remove private methods from TyCtxt impl block: rustc::middle::stability.

4 years agoRemove private methods from TyCtxt impl block: rustc::infer::error_reporting.
Camille GILLOT [Sun, 5 Jan 2020 14:31:56 +0000 (15:31 +0100)]
Remove private methods from TyCtxt impl block: rustc::infer::error_reporting.

4 years agoAuto merge of #67732 - pietroalbini:fewer-apples, r=alexcrichton
bors [Tue, 7 Jan 2020 14:53:27 +0000 (14:53 +0000)]
Auto merge of #67732 - pietroalbini:fewer-apples, r=alexcrichton

ci: remove 32-bit Apple targets

This PR drops the `i686-apple` and `dist-i686-apple` CI builders, as well as removing the `armv7-apple-ios`, `armv7s-apple-ios`  and `i386-apple-ios` targets from the `x86_64-apple` CI builder.

The change was approved in [RFC 2837](https://github.com/rust-lang/rfcs/pull/2837), and it should land in Rust 1.42 stable (so this cycle).

r? @alexcrichton

4 years agoAuto merge of #67924 - RalfJung:miri, r=RalfJung
bors [Tue, 7 Jan 2020 11:32:55 +0000 (11:32 +0000)]
Auto merge of #67924 - RalfJung:miri, r=RalfJung

update miri

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

r? @ghost

4 years agoupdate miri
Ralf Jung [Tue, 7 Jan 2020 09:07:39 +0000 (10:07 +0100)]
update miri

4 years agoAuto merge of #67961 - ehuss:update-cargo, r=alexcrichton
bors [Tue, 7 Jan 2020 08:11:07 +0000 (08:11 +0000)]
Auto merge of #67961 - ehuss:update-cargo, r=alexcrichton

Update cargo

9 commits in 86134e7666a088682f20b76278c3ee096a315218..6e1ca924a67dd1ac89c33f294ef26b5c43b89168
2019-12-23 16:08:07 +0000 to 2020-01-06 19:11:37 +0000
- Fix dynamic linking for Windows UWP MSVC targets (rust-lang/cargo#7758)
- Fix CARGO_TARGET_triple_LINKER environment variable. (rust-lang/cargo#7763)
- Remove metadata dep_kinds duplicates. (rust-lang/cargo#7756)
- Check for a source defined multiple times. (rust-lang/cargo#7751)
- Fix typo. (rust-lang/cargo#7735)
- Fix config env vars that are prefix of another with underscore. (rust-lang/cargo#7748)
- Add test for `cargo pkgid` (rust-lang/cargo#7741)
- Add a note to the error message for using --feature / --no-default-features in a virtual workspace (rust-lang/cargo#7742)
- Fix debug message. (rust-lang/cargo#7749)

4 years agoAuto merge of #67964 - JohnTitor:rollup-pu5kosl, r=JohnTitor
bors [Tue, 7 Jan 2020 04:54:02 +0000 (04:54 +0000)]
Auto merge of #67964 - JohnTitor:rollup-pu5kosl, r=JohnTitor

Rollup of 13 pull requests

Successful merges:

 - #67566 (Add an unstable conversion from thread ID to u64)
 - #67671 (Account for `type X = impl Trait;` in lifetime suggestion)
 - #67727 (Stabilise vec::remove_item)
 - #67877 (Omit underscore constants from rustdoc)
 - #67880 (Handle multiple error fix suggestions carefuly)
 - #67898 (Improve hygiene of `newtype_index`)
 - #67908 (rustdoc: HTML escape const values)
 - #67909 (Fix ICE in const pretty printing and resolve FIXME)
 - #67929 (Formatting an example for method Vec.retain)
 - #67934 (Clean up E0178 explanation)
 - #67936 (fire "non_camel_case_types" for associated types)
 - #67943 (Missing module std in example.)
 - #67962 (Update books)

Failed merges:

r? @ghost

4 years agoRollup merge of #67962 - ehuss:update-books, r=ehuss
Yuki Okushi [Tue, 7 Jan 2020 04:46:16 +0000 (13:46 +0900)]
Rollup merge of #67962 - ehuss:update-books, r=ehuss

Update books

## nomicon

1 commits in 8be35b201f9cf0a4c3fcc96c83ac21671dcf3112..3e6e1001dc6e095dbd5c88005e80969f60e384e1
2019-12-01 13:02:12 -0500 to 2019-12-14 22:08:52 +0000
- Remove mention of contravariance possibly getting scrapped (rust-lang-nursery/nomicon#177)

## reference

4 commits in d8dfe1b005c03584cd7adc4bfb72b005e7e84744..e1157538e86d83df0cf95d5e33bd943f80d0248f
2019-12-14 21:04:58 +0100 to 2019-12-22 13:13:14 +0100
- Fix typo in macros-by-example.md (rust-lang-nursery/reference#733)
- Remove `extern` from exception list (rust-lang-nursery/reference#732)
- Added clearification that closures are refered to lambdas (rust-lang-nursery/reference#731)
- abi.md: clarify #[used] and linking (rust-lang-nursery/reference#712)

## book

2 commits in ef8bb568035ded8ddfa30a9309026638cc3c8136..5c5cfd2e94cd42632798d9bd3d1116133e128ac9
2019-11-28 11:00:04 -0600 to 2019-12-16 09:27:21 -0600
- document new --show-output option in ch 11-2 (Rust &gt;= 1.39) (rust-lang/book#2065)
- Fix sentence in ch07 (rust-lang/book#2183)

## rust-by-example

3 commits in b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4..1d59403cb5269c190cc52a95584ecc280345495a
2019-12-02 11:38:43 -0300 to 2019-12-27 08:27:05 -0300
- Enable section-folding of table of content (rust-lang/rust-by-example#1290)
- Remove unnecessary lifetime annotation (rust-lang/rust-by-example#1300)
- eliminate the warnings (rust-lang/rust-by-example#1301)

## edition-guide

1 commits in 6601cab4666596494a569f94aa63b7b3230e9769..1a2390247ad6d08160e0dd74f40a01a9578659c2
2019-11-22 12:08:58 -0500 to 2019-12-29 10:40:55 -0800
- Updated install and uninstall instructions (rust-lang-nursery/edition-guide#194)

## embedded-book

1 commits in c26234930282210849256e4ecab925f0f2daf3be..9493b7d4dc97eda439bd8780f05ad7b234cd1cd7
2019-12-07 17:25:11 +0000 to 2019-12-27 20:05:00 +0000
- fixed typo in Interrupts.md  (rust-embedded/book#218)

4 years agoRollup merge of #67943 - Stromberg90:patch-1, r=jonas-schievink
Yuki Okushi [Tue, 7 Jan 2020 04:46:15 +0000 (13:46 +0900)]
Rollup merge of #67943 - Stromberg90:patch-1, r=jonas-schievink

Missing module std in example.

4 years agoRollup merge of #67936 - euclio:assoc-type-bad-style, r=Centril
Yuki Okushi [Tue, 7 Jan 2020 04:46:13 +0000 (13:46 +0900)]
Rollup merge of #67936 - euclio:assoc-type-bad-style, r=Centril

fire "non_camel_case_types" for associated types

Fixes #67920.

4 years agoRollup merge of #67934 - GuillaumeGomez:clean-up-e0178, r=Dylan-DPC
Yuki Okushi [Tue, 7 Jan 2020 04:46:12 +0000 (13:46 +0900)]
Rollup merge of #67934 - GuillaumeGomez:clean-up-e0178, r=Dylan-DPC

Clean up E0178 explanation

r? @Dylan-DPC

4 years agoRollup merge of #67929 - mgrachev:patch-1, r=jonas-schievink
Yuki Okushi [Tue, 7 Jan 2020 04:46:10 +0000 (13:46 +0900)]
Rollup merge of #67929 - mgrachev:patch-1, r=jonas-schievink

Formatting an example for method Vec.retain

4 years agoRollup merge of #67909 - varkor:obsolete-const-print, r=davidtwco
Yuki Okushi [Tue, 7 Jan 2020 04:46:08 +0000 (13:46 +0900)]
Rollup merge of #67909 - varkor:obsolete-const-print, r=davidtwco

Fix ICE in const pretty printing and resolve FIXME

Consts now have a `fmt::Display` impl, so we can just use that to pretty-print.

This resolves an ICE in https://github.com/rust-lang/rust/issues/61936, though it hits more ICEs afterwards. I couldn't find a test case that was resolved by this that didn't hit errors later on.

4 years agoRollup merge of #67908 - ollie27:rustdoc_const_html_escape, r=GuillaumeGomez
Yuki Okushi [Tue, 7 Jan 2020 04:46:07 +0000 (13:46 +0900)]
Rollup merge of #67908 - ollie27:rustdoc_const_html_escape, r=GuillaumeGomez

rustdoc: HTML escape const values

r? @GuillaumeGomez

4 years agoRollup merge of #67898 - matthewjasper:newtype-index-hygiene, r=Centril
Yuki Okushi [Tue, 7 Jan 2020 04:46:05 +0000 (13:46 +0900)]
Rollup merge of #67898 - matthewjasper:newtype-index-hygiene, r=Centril

Improve hygiene of `newtype_index`

`newtype_index` no longer needs `rustc_index::vec::Idx` to be in scope.

r? @Centril

4 years agoRollup merge of #67880 - lbonn:fix/multi-substs, r=petrochenkov
Yuki Okushi [Tue, 7 Jan 2020 04:46:04 +0000 (13:46 +0900)]
Rollup merge of #67880 - lbonn:fix/multi-substs, r=petrochenkov

Handle multiple error fix suggestions carefuly

The existing code seems to assume that substitutions spans are disjoint,
which is not always the case.

In the example:

    pub trait AAAA {}
    pub trait B {}
    pub trait C {}
    pub type T<P: AAAA + B + C> = P;

, we get three substituions starting from ':' and ending respectively at
the end of each trait token.

With the former offset calculation, this would cause `underline_start` to
eventually become negative before being converted to `usize`...

The new version may report erroneous results for non perfectly overlapping
substitutions but I don't know if such examples exist. Alternatively, we
could detect these cases and trim out overlapping substitutions.

Fixes #67690

4 years agoRollup merge of #67877 - dtolnay:const-_, r=nagisa
Yuki Okushi [Tue, 7 Jan 2020 04:46:02 +0000 (13:46 +0900)]
Rollup merge of #67877 - dtolnay:const-_, r=nagisa

Omit underscore constants from rustdoc

Underscore constants from https://github.com/rust-lang/rfcs/pull/2526 / https://github.com/rust-lang/rust/issues/54912 do not correspond to a nameable item and so are never useful in documentation.
<br>

#### Before:

> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://user-images.githubusercontent.com/1940490/71771409-0427cc80-2eef-11ea-8b7d-d9c74a873e7e.png" width="60%">

#### After:

> Not that.

4 years agoRollup merge of #67727 - Dylan-DPC:stabilise/remove_item, r=alexcrichton
Yuki Okushi [Tue, 7 Jan 2020 04:46:01 +0000 (13:46 +0900)]
Rollup merge of #67727 - Dylan-DPC:stabilise/remove_item, r=alexcrichton

Stabilise vec::remove_item

Closes #40062

r? @alexcrichton

4 years agoRollup merge of #67671 - estebank:type-impl-trait, r=davidtwco
Yuki Okushi [Tue, 7 Jan 2020 04:45:59 +0000 (13:45 +0900)]
Rollup merge of #67671 - estebank:type-impl-trait, r=davidtwco

Account for `type X = impl Trait;` in lifetime suggestion

Fix #67619.

4 years agoRollup merge of #67566 - Mark-Simulacrum:thread-id-u64, r=alexcrichton
Yuki Okushi [Tue, 7 Jan 2020 04:45:58 +0000 (13:45 +0900)]
Rollup merge of #67566 - Mark-Simulacrum:thread-id-u64, r=alexcrichton

Add an unstable conversion from thread ID to u64

We see multiple cases inside rustc and ecosystem code where ThreadId is
transmuted to u64, exploiting the underlying detail. This is suboptimal
(can break unexpectedly if we change things in std).

It is unlikely that ThreadId will ever need to be larger than u64 --
creating even 2^32 threads over the course of a program is quite hard,
2^64 is even harder. As such, we do not choose to return a larger sized
type (e.g. u128). If we choose to shrink ThreadId in the future, or
otherwise change its internals, it is likely that a mapping to u64 will
still be applicable (though may become more complex).

I will file a tracking issue as soon as this is loosely approved.

4 years agoUpdate books
Eric Huss [Tue, 7 Jan 2020 03:07:18 +0000 (19:07 -0800)]
Update books

4 years agoUpdate cargo
Eric Huss [Tue, 7 Jan 2020 03:02:16 +0000 (19:02 -0800)]
Update cargo

4 years agoAuto merge of #67950 - JohnTitor:clippyup, r=JohnTitor
bors [Tue, 7 Jan 2020 01:34:37 +0000 (01:34 +0000)]
Auto merge of #67950 - JohnTitor:clippyup, r=JohnTitor

Update Clippy

Fixes #67941

r? @ghost

4 years agoAccount for `type X = impl Trait;` in lifetime suggestion
Esteban Küber [Sat, 28 Dec 2019 04:09:33 +0000 (20:09 -0800)]
Account for `type X = impl Trait;` in lifetime suggestion

4 years agoImprove hygiene of `newtype_index`
Matthew Jasper [Sun, 5 Jan 2020 15:01:00 +0000 (15:01 +0000)]
Improve hygiene of `newtype_index`

Also add unit tests

4 years agoUpdate Clippy
Yuki Okushi [Mon, 6 Jan 2020 19:39:35 +0000 (04:39 +0900)]
Update Clippy

4 years agoAuto merge of #66899 - msizanoen1:riscv-std, r=alexcrichton
bors [Mon, 6 Jan 2020 19:07:42 +0000 (19:07 +0000)]
Auto merge of #66899 - msizanoen1:riscv-std, r=alexcrichton

Standard library support for riscv64gc-unknown-linux-gnu

Add std support for RISC-V 64-bit GNU/Linux and update libc for RISC-V support.

r? @alexcrichton

4 years agooh the one that was left behind
dylan_DPC [Mon, 6 Jan 2020 17:58:47 +0000 (23:28 +0530)]
oh the one that was left behind

4 years agoRemoved module usage.
Strømberg [Mon, 6 Jan 2020 16:38:41 +0000 (17:38 +0100)]
Removed module usage.

4 years agoMissing module std in example.
Strømberg [Mon, 6 Jan 2020 16:25:17 +0000 (17:25 +0100)]
Missing module std in example.

4 years agoAdd an unstable conversion from thread ID to u64
Mark Rousskov [Mon, 23 Dec 2019 17:54:54 +0000 (12:54 -0500)]
Add an unstable conversion from thread ID to u64

We see multiple cases inside rustc and ecosystem code where ThreadId is
transmuted to u64, exploiting the underlying detail. This is suboptimal
(can break unexpectedly if we change things in std).

It is unlikely that ThreadId will ever need to be larger than u64 --
creating even 2^32 threads over the course of a program is quite hard,
2^64 is even harder. As such, we do not choose to return a larger sized
type (e.g. u128). If we choose to shrink ThreadId in the future, or
otherwise change its internals, it is likely that a mapping to u64 will
still be applicable (though may become more complex).

4 years agoUpdate cc crate
msizanoen1 [Mon, 6 Jan 2020 15:44:57 +0000 (22:44 +0700)]
Update cc crate

4 years agostabilise it
dylan_DPC [Mon, 6 Jan 2020 15:07:49 +0000 (20:37 +0530)]
stabilise it

4 years agofire "non_camel_case_types" for associated types
Andy Russell [Mon, 6 Jan 2020 14:51:23 +0000 (09:51 -0500)]
fire "non_camel_case_types" for associated types

4 years agoClean up E0178 explanation
Guillaume Gomez [Mon, 6 Jan 2020 14:28:12 +0000 (15:28 +0100)]
Clean up E0178 explanation

4 years agoremove usage of feature gate
dylan_DPC [Mon, 30 Dec 2019 12:27:00 +0000 (17:57 +0530)]
remove usage of feature gate

4 years agostabilise remove_item
dylan_DPC [Mon, 30 Dec 2019 11:59:03 +0000 (17:29 +0530)]
stabilise remove_item

4 years agoAuto merge of #67886 - Centril:rustc_hir_canon_imports, r=nagisa
bors [Mon, 6 Jan 2020 12:55:40 +0000 (12:55 +0000)]
Auto merge of #67886 - Centril:rustc_hir_canon_imports, r=nagisa

Nix `rustc_hir` reexports in rustc::hir

r? @Zoxc cc @Mark-Simulacrum

4 years agoFormatting an example for method Vec.retain
Grachev Mikhail [Mon, 6 Jan 2020 12:18:03 +0000 (15:18 +0300)]
Formatting an example for method Vec.retain

4 years agoAuto merge of #67917 - Dylan-DPC:rollup-id05y91, r=Dylan-DPC
bors [Mon, 6 Jan 2020 09:31:27 +0000 (09:31 +0000)]
Auto merge of #67917 - Dylan-DPC:rollup-id05y91, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #67800 (Fix ICE involving calling `Instance.ty` during const evaluation)
 - #67873 (change remove to have a PartialEq bound)
 - #67897 (Use `as_deref()` to replace `as_ref().map(...)`)
 - #67906 (Silence `TooGeneric` error)
 - #67912 (macros: typo fix)
 - #67915 (Use Self instead of $type)

Failed merges:

r? @ghost

4 years agoRollup merge of #67915 - lzutao:Self, r=Centril
Dylan DPC [Mon, 6 Jan 2020 06:30:23 +0000 (12:00 +0530)]
Rollup merge of #67915 - lzutao:Self, r=Centril

Use Self instead of $type

r? @Dylan-DPC

4 years agoRollup merge of #67912 - LPardue:patch-1, r=Centril
Dylan DPC [Mon, 6 Jan 2020 06:30:22 +0000 (12:00 +0530)]
Rollup merge of #67912 - LPardue:patch-1, r=Centril

macros: typo fix

spotted while reviewing the todo!macro docs

4 years agoRollup merge of #67906 - varkor:silence-toogeneric, r=nagisa
Dylan DPC [Mon, 6 Jan 2020 06:30:20 +0000 (12:00 +0530)]
Rollup merge of #67906 - varkor:silence-toogeneric, r=nagisa

Silence `TooGeneric` error

This error may be produced during intermediate failed attempts at evaluation of a generic const, which may nevertheless succeed later.

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

r? @eddyb

4 years agoRollup merge of #67897 - pickfire:patch-1, r=Dylan-DPC
Dylan DPC [Mon, 6 Jan 2020 06:30:19 +0000 (12:00 +0530)]
Rollup merge of #67897 - pickfire:patch-1, r=Dylan-DPC

Use `as_deref()` to replace `as_ref().map(...)`

Suggested by @lzutao

4 years agoRollup merge of #67873 - Dylan-DPC:feature/change-remove-to-partial, r=Amanieu
Dylan DPC [Mon, 6 Jan 2020 06:30:17 +0000 (12:00 +0530)]
Rollup merge of #67873 - Dylan-DPC:feature/change-remove-to-partial, r=Amanieu

change remove to have a PartialEq bound

Addresses [comment](https://github.com/rust-lang/rust/pull/67727#issuecomment-570660301).

References #40062

r? @Amanieu

4 years agoRollup merge of #67800 - Aaron1011:fix/mir-generic-instance, r=oli-obk
Dylan DPC [Mon, 6 Jan 2020 06:30:16 +0000 (12:00 +0530)]
Rollup merge of #67800 - Aaron1011:fix/mir-generic-instance, r=oli-obk

Fix ICE involving calling `Instance.ty` during const evaluation

Fixes #67639

`Instance.ty` assumes that we are in a fully monomorphic context (e.g.
codegen), and can therefore use an empty `ParamEnv` when performing
normalization. Howver, the MIR constant evaluator code ends up calling
`Instance.ty` as a result of us attemptign to 'speculatively'
const-evaluate generic functions during const propagation.

As a result,
we may end up with projections involving type parameters
(e.g. <T as MyTrait>::Bar>) in the type we are trying to normalize.
Normalization expects us to have proper predicates in the `ParamEnv` for
such projections, and will ICE if we don't.

This commit adds a new method `Instance.ty_env`, which takes a
`ParamEnv` for use during normalization. The MIR const-evaluator code is
changed to use this method, passing in the proper `ParamEnv` for the
context at hand.

4 years agoUse Self instead of $type
Lzu Tao [Mon, 6 Jan 2020 04:33:31 +0000 (04:33 +0000)]
Use Self instead of $type

4 years agomacros: typo fix
Lucas Pardue [Mon, 6 Jan 2020 01:55:24 +0000 (01:55 +0000)]
macros: typo fix

spotted while reviewing the todo!macro docs

4 years agoFix ICE in const pretty printing and resolve FIXME
varkor [Mon, 6 Jan 2020 00:11:27 +0000 (00:11 +0000)]
Fix ICE in const pretty printing and resolve FIXME

Consts now have a `fmt::Display` impl, so we can just use that to pretty-print.

4 years agoAuto merge of #67563 - euclio:rustdoc-buffer-lexer, r=GuillaumeGomez
bors [Mon, 6 Jan 2020 00:09:14 +0000 (00:09 +0000)]
Auto merge of #67563 - euclio:rustdoc-buffer-lexer, r=GuillaumeGomez

buffer lexer errors in rustdoc syntax checking

The code isn't ideal (I really would like to display the errors inline), but this at least gets us to where we were before #63017.

4 years agorustdoc: HTML escape const values
Oliver Middleton [Sun, 5 Jan 2020 23:19:42 +0000 (23:19 +0000)]
rustdoc: HTML escape const values

4 years agoUse Instance.ty_env instead of Instance.monomorphic_ty in interpreter
Aaron Hill [Sun, 5 Jan 2020 23:09:57 +0000 (18:09 -0500)]
Use Instance.ty_env instead of Instance.monomorphic_ty in interpreter

4 years agoSilence `TooGeneric` error
varkor [Sun, 5 Jan 2020 23:00:47 +0000 (23:00 +0000)]
Silence `TooGeneric` error

This error may be produced during intermediate failed attempts at evaluation of a generic const, which may nevertheless succeed later.

4 years agoAuto merge of #67821 - matthiaskrgr:submodule_upd, r=Xanewok
bors [Sun, 5 Jan 2020 20:56:03 +0000 (20:56 +0000)]
Auto merge of #67821 - matthiaskrgr:submodule_upd, r=Xanewok

submodules: update rls from fed7a31 to 7010eee

Changes:
````
Update Clippy
Update cargo.
Correct two links to the json-error-emitter
````

Fixes #67708

4 years agoFix typo
Aaron Hill [Sun, 5 Jan 2020 20:00:55 +0000 (15:00 -0500)]
Fix typo

4 years agoRename Instance.ty to Instance.monomorphic_ty
Aaron Hill [Sun, 5 Jan 2020 19:59:40 +0000 (14:59 -0500)]
Rename Instance.ty to Instance.monomorphic_ty

4 years agos/projections/params/
Aaron Hill [Fri, 3 Jan 2020 04:03:05 +0000 (23:03 -0500)]
s/projections/params/

4 years agoRun rustfmt
Aaron Hill [Fri, 3 Jan 2020 03:27:26 +0000 (22:27 -0500)]
Run rustfmt

4 years agoChange 'panic!' to 'bug!'
Aaron Hill [Fri, 3 Jan 2020 01:38:54 +0000 (20:38 -0500)]
Change 'panic!' to 'bug!'

Co-Authored-By: Wesley Wiser <wwiser@gmail.com>
4 years agoFix ICE involving calling `Instance.ty` during const evaluation
Aaron Hill [Thu, 2 Jan 2020 05:42:31 +0000 (00:42 -0500)]
Fix ICE involving calling `Instance.ty` during const evaluation

Fixes #67639

`Instance.ty` assumes that we are in a fully monomorphic context (e.g.
codegen), and can therefore use an empty `ParamEnv` when performing
normalization. Howver, the MIR constant evaluator code ends up calling
`Instance.ty` as a result of us attemptign to 'speculatively'
const-evaluate generic functions during const propagation.

As a result,
we may end up with projections involving type parameters
(e.g. <T as MyTrait>::Bar>) in the type we are trying to normalize.
Normalization expects us to have proper predicates in the `ParamEnv` for
such projections, and will ICE if we don't.

This commit adds a new method `Instance.ty_env`, which takes a
`ParamEnv` for use during normalization. The MIR const-evaluator code is
changed to use this method, passing in the proper `ParamEnv` for the
context at hand.

4 years agoAuto merge of #67903 - Dylan-DPC:rollup-k9djyrf, r=Dylan-DPC
bors [Sun, 5 Jan 2020 17:31:32 +0000 (17:31 +0000)]
Auto merge of #67903 - Dylan-DPC:rollup-k9djyrf, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #67818 (rustdoc: Avoid panic when parsing codeblocks for playground links)
 - #67845 (Also remove const-hack for abs)
 - #67879 (Remove negative number check from float sqrt)
 - #67881 (Add backticks to various diagnostics)
 - #67882 (remove bespoke flock bindings)

Failed merges:

r? @ghost

4 years agoRollup merge of #67882 - euclio:flock, r=rkruppe
Dylan DPC [Sun, 5 Jan 2020 17:14:34 +0000 (22:44 +0530)]
Rollup merge of #67882 - euclio:flock, r=rkruppe

remove bespoke flock bindings

Replaces some `struct flock` definitions with the definition from `libc`.

4 years agoRollup merge of #67881 - varkor:scattering-of-backticks, r=Centril
Dylan DPC [Sun, 5 Jan 2020 17:14:33 +0000 (22:44 +0530)]
Rollup merge of #67881 - varkor:scattering-of-backticks, r=Centril

Add backticks to various diagnostics

4 years agoRollup merge of #67879 - ollie27:float_sqrt_neg, r=rkruppe
Dylan DPC [Sun, 5 Jan 2020 17:14:32 +0000 (22:44 +0530)]
Rollup merge of #67879 - ollie27:float_sqrt_neg, r=rkruppe

Remove negative number check from float sqrt

It hasn't been UB to pass negative numbers to sqrt since https://reviews.llvm.org/D28797 which was included in LLVM 5.

4 years agoRollup merge of #67845 - jumbatm:also-unconst-hack-abs, r=oli-obk
Dylan DPC [Sun, 5 Jan 2020 17:14:30 +0000 (22:44 +0530)]
Rollup merge of #67845 - jumbatm:also-unconst-hack-abs, r=oli-obk

Also remove const-hack for abs

Closes #67842.

r? @oli-obk

4 years agoRollup merge of #67818 - ollie27:rustdoc_playground_syntax_error, r=GuillaumeGomez
Dylan DPC [Sun, 5 Jan 2020 17:14:29 +0000 (22:44 +0530)]
Rollup merge of #67818 - ollie27:rustdoc_playground_syntax_error, r=GuillaumeGomez

rustdoc: Avoid panic when parsing codeblocks for playground links

`make_test` is also called when parsing codeblocks for the playground links so it should handle unwinds from the parser internally.

Fixes #63016

r? @GuillaumeGomez

4 years agoUse `as_deref()` to replace `as_ref().map(...)`
Ivan Tham [Sun, 5 Jan 2020 15:10:30 +0000 (23:10 +0800)]
Use `as_deref()` to replace `as_ref().map(...)`

Suggested by @lzutao

4 years agoAuto merge of #67895 - JohnTitor:clippy-up, r=oli-obk
bors [Sun, 5 Jan 2020 14:24:55 +0000 (14:24 +0000)]
Auto merge of #67895 - JohnTitor:clippy-up, r=oli-obk

Update Clippy

Fixes #67859

r? @oli-obk

4 years agoHandle multiple error fix suggestions carefuly
Laurent Bonnans [Sat, 4 Jan 2020 23:58:41 +0000 (00:58 +0100)]
Handle multiple error fix suggestions carefuly

The existing code seems to assume that substitutions spans are disjoint,
which is not always the case.

In the example:

    pub trait AAAA {}
    pub trait B {}
    pub trait C {}
    pub type T<P: AAAA + B + C> = P;

, we get three substituions starting from ':' and ending respectively at
the end of each trait token.

With the former offset calculation, this would cause `underline_start` to
eventually become negative before being converted to `usize`...

The new version may report erroneous results for non perfectly overlapping
substitutions but I don't know if such examples exist. Alternatively, we
could detect these cases and trim out overlapping substitutions.

4 years agofix ui-fulldeps fallout
Mazdak Farrokhzad [Sun, 5 Jan 2020 04:35:51 +0000 (05:35 +0100)]
fix ui-fulldeps fallout

4 years agoRemove rustc_hir reexports in rustc::hir.
Mazdak Farrokhzad [Sun, 5 Jan 2020 01:37:57 +0000 (02:37 +0100)]
Remove rustc_hir reexports in rustc::hir.

4 years agolibrustc/hir.rs -> librustc/hir/mod.rs
Mazdak Farrokhzad [Sun, 5 Jan 2020 00:52:30 +0000 (01:52 +0100)]
librustc/hir.rs -> librustc/hir/mod.rs

4 years agosimplify reexports in rustc::hir
Mazdak Farrokhzad [Sun, 5 Jan 2020 00:50:05 +0000 (01:50 +0100)]
simplify reexports in rustc::hir