]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoUpdate tests
Vadim Petrochenkov [Wed, 8 Jan 2020 17:02:10 +0000 (20:02 +0300)]
Update tests

4 years agocompiletest: Do not deduplicate diagnostics in UI tests
Vadim Petrochenkov [Wed, 8 Jan 2020 12:07:26 +0000 (15:07 +0300)]
compiletest: Do not deduplicate diagnostics in UI tests

4 years agoAuto merge of #67988 - Zoxc:prof-fix, r=michaelwoerister
bors [Thu, 9 Jan 2020 11:36:44 +0000 (11:36 +0000)]
Auto merge of #67988 - Zoxc:prof-fix, r=michaelwoerister

Change -Z time event naming scheme and make them generic activities

I made the `-Z time-passes` only events (which encodes argument in the event id) use a `extra_verbose_generic_activity` function which does not emit self-profiling events.

r? @michaelwoerister
cc @wesleywiser

4 years agoMore comments
John Kåre Alsaker [Wed, 8 Jan 2020 20:32:00 +0000 (21:32 +0100)]
More comments

4 years agoChange -Z time event naming scheme and make them generic activities
John Kåre Alsaker [Tue, 7 Jan 2020 20:34:08 +0000 (21:34 +0100)]
Change -Z time event naming scheme and make them generic activities

4 years agoAuto merge of #68034 - Centril:rollup-3d9pq14, r=Centril
bors [Thu, 9 Jan 2020 02:05:15 +0000 (02:05 +0000)]
Auto merge of #68034 - Centril:rollup-3d9pq14, r=Centril

Rollup of 12 pull requests

Successful merges:

 - #67630 (Treat extern statics just like statics in the "const pointer to static" representation)
 - #67747 (Explain that associated types and consts can't be accessed directly on the trait's path)
 - #67884 (Fix incremental builds of core by allowing unused attribute.)
 - #67966 (Use matches macro in libcore and libstd)
 - #67979 (Move `intravisit` => `rustc_hir` + misc cleanup)
 - #67986 (Display more informative ICE)
 - #67990 (slice patterns: harden match-based borrowck tests)
 - #68005 (Improve E0184 explanation)
 - #68009 (Spell check librustc_error_codes)
 - #68023 (Fix issue #68008)
 - #68024 (Remove `-Z continue-parse-after-error`)
 - #68026 (Small improvements in lexical_region_resolve)

Failed merges:

r? @ghost

4 years agoRollup merge of #68026 - llogiq:ch-ch-ch-ch-changes, r=varkor
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:21 +0000 (00:22 +0100)]
Rollup merge of #68026 - llogiq:ch-ch-ch-ch-changes, r=varkor

Small improvements in lexical_region_resolve

This just replaces a trivial `if` condition with a `|=` in two places.

I could even have used a `fold` in the first case, but I think it would be less readable.

4 years agoRollup merge of #68024 - petrochenkov:recoverall, r=Centril
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:20 +0000 (00:22 +0100)]
Rollup merge of #68024 - petrochenkov:recoverall, r=Centril

Remove `-Z continue-parse-after-error`

We are just always recovering and continuing now.

r? @estebank @Centril

4 years agoRollup merge of #68023 - FSciammarella:master, r=Centril,varkor
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:18 +0000 (00:22 +0100)]
Rollup merge of #68023 - FSciammarella:master, r=Centril,varkor

Fix issue #68008

Correcting Typo on error message. From "substract" to "subtract".

Fixes #68008.

4 years agoRollup merge of #68009 - wcampbell0x2a:spellcheck-librustc_error_codes, r=Centril
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:17 +0000 (00:22 +0100)]
Rollup merge of #68009 - wcampbell0x2a:spellcheck-librustc_error_codes, r=Centril

Spell check librustc_error_codes

Found one wrongly spelled error message and decided to check all the
error messages for wrongly spelled statements.

4 years agoRollup merge of #68005 - GuillaumeGomez:explanation-e0184, r=Dylan-DPC
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:16 +0000 (00:22 +0100)]
Rollup merge of #68005 - GuillaumeGomez:explanation-e0184, r=Dylan-DPC

Improve E0184 explanation

r? @Dylan-DPC

4 years agoRollup merge of #67990 - Centril:slice-pats-move-tests-match, r=matthewjasper
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:14 +0000 (00:22 +0100)]
Rollup merge of #67990 - Centril:slice-pats-move-tests-match, r=matthewjasper

slice patterns: harden match-based borrowck tests

This hardens some move-checking tests wrt. slice patterns and `match` expressions.

r? @matthewjasper
cc @pnkfelix
cc https://github.com/rust-lang/rust/pull/67712
cc https://github.com/rust-lang/rust/issues/53114

4 years agoRollup merge of #67986 - JohnTitor:fix-ice-rust-call, r=varkor
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:13 +0000 (00:22 +0100)]
Rollup merge of #67986 - JohnTitor:fix-ice-rust-call, r=varkor

Display more informative ICE

Fixes #66696

4 years agoRollup merge of #67979 - Centril:hir-cleanup, r=Zoxc
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:11 +0000 (00:22 +0100)]
Rollup merge of #67979 - Centril:hir-cleanup, r=Zoxc

Move `intravisit` => `rustc_hir` + misc cleanup

Working towards https://github.com/rust-lang/rust/issues/65031.
This should eventually enable getting rid of rustc as a dependency in various passes (e.g. lints).

cc https://github.com/rust-lang/rust/pull/67806 (this also facilitates liberating lints from tcx)
cc https://github.com/rust-lang/rust/pull/67922 (some other dep reductions)

r? @Zoxc

4 years agoRollup merge of #67966 - popzxc:core-std-matches, r=Centril
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:10 +0000 (00:22 +0100)]
Rollup merge of #67966 - popzxc:core-std-matches, r=Centril

Use matches macro in libcore and libstd

This PR replaces matches like

```rust
match var {
    value => true,
    _ => false,
}
```

with use of `matches!` macro.

r? @Centril

4 years agoRollup merge of #67884 - anp:allow-unused-const-attr, r=oli-obk
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:08 +0000 (00:22 +0100)]
Rollup merge of #67884 - anp:allow-unused-const-attr, r=oli-obk

Fix incremental builds of core by allowing unused attribute.

I *think* that the same problem as in https://github.com/rust-lang/rust/issues/65023 was introduced by https://github.com/rust-lang/rust/pull/67657. This works around the current incrcomp issue with these attributes by allowing it here. This resolves the near-term issue for me, at least.

4 years agoRollup merge of #67747 - estebank:bare-assoc-const, r=Centril
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:07 +0000 (00:22 +0100)]
Rollup merge of #67747 - estebank:bare-assoc-const, r=Centril

Explain that associated types and consts can't be accessed directly on the trait's path

Partially address #44539.

4 years agoRollup merge of #67630 - oli-obk:extern_ptr_dangling, r=spastorino
Mazdak Farrokhzad [Wed, 8 Jan 2020 23:22:05 +0000 (00:22 +0100)]
Rollup merge of #67630 - oli-obk:extern_ptr_dangling, r=spastorino

Treat extern statics just like statics in the "const pointer to static" representation

fixes #67612

r? @spastorino

cc @RalfJung this does not affect runtime promotion at all. This is just about promotion within static item bodies.

4 years agoFix Typo on cannot "substract"
Felipe Sciammarella [Wed, 8 Jan 2020 21:49:15 +0000 (18:49 -0300)]
Fix Typo on cannot "substract"

Fix Typo on hir::BinOpKind::Sub

"substract" to "subtract"

Fix Typo on "Error cannot substract"

Fix Typo on cannot "substract"

4 years agoSmall improvements in lexical_region_resolve
Andre Bogus [Wed, 8 Jan 2020 20:12:21 +0000 (21:12 +0100)]
Small improvements in lexical_region_resolve

4 years agonormalize rustc::hir::intravisit imports
Mazdak Farrokhzad [Tue, 7 Jan 2020 17:12:06 +0000 (18:12 +0100)]
normalize rustc::hir::intravisit imports

4 years agointravisit: use walk_list! more
Mazdak Farrokhzad [Tue, 7 Jan 2020 16:38:38 +0000 (17:38 +0100)]
intravisit: use walk_list! more

4 years ago{rustc::hir -> rustc_hir}::intravisit
Mazdak Farrokhzad [Tue, 7 Jan 2020 16:30:29 +0000 (17:30 +0100)]
{rustc::hir -> rustc_hir}::intravisit

4 years agointravisit: abstract over HIR Map
Mazdak Farrokhzad [Tue, 7 Jan 2020 16:25:33 +0000 (17:25 +0100)]
intravisit: abstract over HIR Map

4 years agointravisit: .expect_item -> .item
Mazdak Farrokhzad [Tue, 7 Jan 2020 14:51:38 +0000 (15:51 +0100)]
intravisit: .expect_item -> .item

4 years agoNestedVisitorMap: reduce visibilities
Mazdak Farrokhzad [Tue, 7 Jan 2020 14:13:47 +0000 (15:13 +0100)]
NestedVisitorMap: reduce visibilities

4 years agohir::map: elide & simplify
Mazdak Farrokhzad [Tue, 7 Jan 2020 14:06:39 +0000 (15:06 +0100)]
hir::map: elide & simplify

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 #68011 - JohnTitor:rollup-44s8twu, r=JohnTitor
bors [Wed, 8 Jan 2020 19:46:58 +0000 (19:46 +0000)]
Auto merge of #68011 - JohnTitor:rollup-44s8twu, r=JohnTitor

Rollup of 10 pull requests

Successful merges:

 - #67774 (Try statx for all linux-gnu target.)
 - #67781 (Move `is_min_const_fn` query to librustc_mir.)
 - #67798 (Remove wrong advice about spin locks from `spin_loop_hint` docs)
 - #67849 (Add a check for swapped words when we can't find an identifier)
 - #67875 (Distinguish between private items and hidden items in rustdoc)
 - #67887 (`Option::{expect,unwrap}` and `Result::{expect, expect_err, unwrap, unwrap_err}` have `#[track_caller]`)
 - #67955 (rustdoc: Remove more `#[doc(cfg(..))]` duplicates)
 - #67977 (Updates for VxWorks)
 - #67985 (Remove insignificant notes from CStr documentation)
 - #68003 (ci: fix wrong shared.sh import for publish_toolstate)

Failed merges:

 - #67820 (Parse the syntax described in RFC 2632)
 - #67979 (Move `intravisit` => `rustc_hir` + misc cleanup)

r? @ghost

4 years agoRemove `-Z continue-parse-after-error`
Vadim Petrochenkov [Wed, 8 Jan 2020 18:25:42 +0000 (21:25 +0300)]
Remove `-Z continue-parse-after-error`

4 years agomove code to method outside of happy path
Esteban Küber [Wed, 8 Jan 2020 18:10:51 +0000 (10:10 -0800)]
move code to method outside of happy path

4 years agoExplain that associated types and consts can't be accessed directly on the trait...
Esteban Küber [Tue, 31 Dec 2019 05:15:40 +0000 (21:15 -0800)]
Explain that associated types and consts can't be accessed directly on the trait's path

4 years agoRollup merge of #68003 - pietroalbini:yet-another-toolstate-fix, r=Mark-Simulacrum
Yuki Okushi [Wed, 8 Jan 2020 15:29:22 +0000 (00:29 +0900)]
Rollup merge of #68003 - pietroalbini:yet-another-toolstate-fix, r=Mark-Simulacrum

ci: fix wrong shared.sh import for publish_toolstate

r? @Mark-Simulacrum

4 years agoRollup merge of #67985 - dtolnay:cstr, r=Mark-Simulacrum
Yuki Okushi [Wed, 8 Jan 2020 15:29:20 +0000 (00:29 +0900)]
Rollup merge of #67985 - dtolnay:cstr, r=Mark-Simulacrum

Remove insignificant notes from CStr documentation

The to_str and to_string_lossy methods contain a note about the behavior possibly changing in the future. But those notes are referring to a distinction that is not observable in the API. Whether or not the UTF-8 check knows the string length ahead of time, these methods require linear time.

4 years agoRollup merge of #67977 - Wind-River:master_2020, r=alexcrichton
Yuki Okushi [Wed, 8 Jan 2020 15:29:18 +0000 (00:29 +0900)]
Rollup merge of #67977 - Wind-River:master_2020, r=alexcrichton

Updates for VxWorks

r? @alexcrichton

4 years agoRollup merge of #67955 - ollie27:rustdoc_cfg_dupes, r=GuillaumeGomez
Yuki Okushi [Wed, 8 Jan 2020 15:29:17 +0000 (00:29 +0900)]
Rollup merge of #67955 - ollie27:rustdoc_cfg_dupes, r=GuillaumeGomez

rustdoc: Remove more `#[doc(cfg(..))]` duplicates

This is a follow up to #66959.

r? @GuillaumeGomez

4 years agoRollup merge of #67887 - anp:tracked-std-panics, r=nagisa
Yuki Okushi [Wed, 8 Jan 2020 15:29:15 +0000 (00:29 +0900)]
Rollup merge of #67887 - anp:tracked-std-panics, r=nagisa

`Option::{expect,unwrap}` and `Result::{expect, expect_err, unwrap, unwrap_err}` have `#[track_caller]`

The annotated functions now produce panic messages pointing to the location where they were called, rather than `core`'s internals.

4 years agoRollup merge of #67875 - dtolnay:hidden, r=GuillaumeGomez
Yuki Okushi [Wed, 8 Jan 2020 15:29:13 +0000 (00:29 +0900)]
Rollup merge of #67875 - dtolnay:hidden, r=GuillaumeGomez

Distinguish between private items and hidden items in rustdoc

I believe rustdoc should not be conflating private items (visibility lower than `pub`) and hidden items (attribute `doc(hidden)`). This matters now that Cargo is passing --document-private-items by default for bin crates. In bin crates that rely on macros, intentionally hidden implementation details of the macros can overwhelm the actual useful internal API that one would want to document.

This PR restores the strip-hidden pass when documenting private items, and introduces a separate unstable --document-hidden-items option to skip the strip-hidden pass. The two options are orthogonal to one another.

Fixes #67851. Closes #60884.

4 years agoRollup merge of #67849 - cjkenn:check-sorted-words, r=estebank
Yuki Okushi [Wed, 8 Jan 2020 15:29:12 +0000 (00:29 +0900)]
Rollup merge of #67849 - cjkenn:check-sorted-words, r=estebank

Add a check for swapped words when we can't find an identifier

Fixes #66968

Couple things here:
1. The matches take the precedence of case insensitive match, then levenshtein match, then swapped words match. Doing this allows us to not even check for swapped words unless the other checks return `None`.
2. I've assumed that the swapped words check is not held to the limits of the max levenshtein distance threshold (ie. we want to try and find a match even if the levenshtein distance is very high). This means that we cannot perform this check in the `fold` that occurs after the `filter_map` call, because the candidate will be filtered out. So, I've split this into two separate `fold` calls, and had to collect the original iterator into a vec so it can be copied (I don't think we want to change the function signature to take a vec or require the `Copy` trait). An alternative implemenation may be to remove the `filter_map`, `fold` over the entire iterator, and do a check against `max_dist` inside the relevant cases there.

r? @estebank

4 years agoRollup merge of #67798 - matklad:spin-thouse-docs, r=Amanieu
Yuki Okushi [Wed, 8 Jan 2020 15:29:09 +0000 (00:29 +0900)]
Rollup merge of #67798 - matklad:spin-thouse-docs, r=Amanieu

Remove wrong advice about spin locks from `spin_loop_hint` docs

Using a pure spin lock for a critical section in a preemptable thread
is always wrong, however short the critical section may be. The thread
might be preempted, which will cause all other threads to hammer
busily at the core for the whole quant. Moreover, if threads have
different priorities, this might lead to a priority inversion problem
and a deadlock. More generally, a spinlock is not more efficient than
a well-written mutex, which typically does several spin iterations at
the start anyway.

The advise about UP vs SMP is also irrelevant in the context of
preemptive threads.

See also accompanying piece: https://matklad.github.io/2020/01/02/spinlocs-considered-harmful.html

And another, independent piece: https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is

EDIT: obligatory disclosure that I am not an expert in these things, and might be terribly wrong :)

4 years agoRollup merge of #67781 - cjgillot:passes-const, r=oli-obk
Yuki Okushi [Wed, 8 Jan 2020 15:29:08 +0000 (00:29 +0900)]
Rollup merge of #67781 - cjgillot:passes-const, r=oli-obk

Move `is_min_const_fn` query to librustc_mir.

The only two uses of the associated methods are in `librustc_mir` and
`librustdoc`. Please tell me if there is a better choice.

cc #65031

4 years agoRollup merge of #67774 - oxalica:more-statx, r=alexcrichton
Yuki Okushi [Wed, 8 Jan 2020 15:29:06 +0000 (00:29 +0900)]
Rollup merge of #67774 - oxalica:more-statx, r=alexcrichton

Try statx for all linux-gnu target.

After https://github.com/rust-lang/libc/pull/1577, which is contained in `libc` 0.2.66,  provides `SYS_statx` for all Linux platform, so we can try to use `statx` for ~all Linux target~ all linux-gnu targets.

Unfortunately, `struct statx` and `fn statx` is not a part of public interface of musl (currently), ~we still need to invoke it through `syscall`~ we does **not** support statx for musl or other libc impls currently.

Previous PR: #65094

cc @alexcrichton

4 years agoSpell check librustc_error_codes
wcampbell [Wed, 8 Jan 2020 15:12:29 +0000 (10:12 -0500)]
Spell check librustc_error_codes

Found one wrongly spelled error message and decided to check all the
error messages for wrongly spelled statements.

Signed-off-by: wcampbell <wcampbell1995@gmail.com>
4 years agoImprove E0184 explanation
Guillaume Gomez [Wed, 8 Jan 2020 13:24:25 +0000 (14:24 +0100)]
Improve E0184 explanation

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 agoci: fix wrong shared.sh import for publish_toolstate
Pietro Albini [Wed, 8 Jan 2020 11:24:01 +0000 (12:24 +0100)]
ci: fix wrong shared.sh import for publish_toolstate

4 years agoMove `is_min_const_fn` query to librustc_mir.
Camille GILLOT [Wed, 1 Jan 2020 17:06:00 +0000 (18:06 +0100)]
Move `is_min_const_fn` query to librustc_mir.

The only two uses of the associated methods are in librustc_mir and
librustdoc. Please tell me if there is a better choice.

4 years agoMove constness.rs to librustc_mir.
Camille GILLOT [Wed, 1 Jan 2020 16:40:05 +0000 (17:40 +0100)]
Move constness.rs to librustc_mir.

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 agoDisplay more informative ICE
Yuki Okushi [Tue, 7 Jan 2020 20:30:23 +0000 (05:30 +0900)]
Display more informative ICE

4 years agoTry statx for all linux-gnu targets
oxalica [Wed, 8 Jan 2020 06:18:42 +0000 (14:18 +0800)]
Try statx for all linux-gnu targets

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 agoUse matches macro in libcore and libstd
Igor Aleksanov [Tue, 7 Jan 2020 07:35:16 +0000 (10:35 +0300)]
Use matches macro in libcore and libstd

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 agoslice patterns: harden match-based borrowck tests
Mazdak Farrokhzad [Tue, 7 Jan 2020 23:42:53 +0000 (00:42 +0100)]
slice patterns: harden match-based borrowck tests

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 agoRemove insignificant notes from CStr documentation
David Tolnay [Tue, 7 Jan 2020 20:01:39 +0000 (12:01 -0800)]
Remove insignificant notes from CStr documentation

These notes are about a distinction that is not going to be observable
in the API. Whether or not the UTF-8 check knows the string length ahead
of time, these methods require linear time.

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 agoSkip caller location test in wasm32.
Adam Perry [Tue, 7 Jan 2020 15:22:49 +0000 (07:22 -0800)]
Skip caller location test in wasm32.

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