]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agoMerge commit '15c8d31392b9fbab3b3368b67acc4bbe5983115a' into cranelift-rebase
Erin Power [Fri, 30 Apr 2021 16:46:59 +0000 (18:46 +0200)]
Merge commit '15c8d31392b9fbab3b3368b67acc4bbe5983115a' into cranelift-rebase

3 years agoNo-op register_jit on Windows (#1170)
XAMPPRocky [Fri, 30 Apr 2021 16:44:20 +0000 (18:44 +0200)]
No-op register_jit on Windows (#1170)

* No-op register_jit on Windows

Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
3 years ago[cg_clif] Fix run_jit from sync
Erin Power [Fri, 30 Apr 2021 13:27:05 +0000 (15:27 +0200)]
[cg_clif] Fix run_jit from sync

3 years agoSync rustc_codegen_cranelift 'ddd4ce25535cf71203ba3700896131ce55fde795'
Erin Power [Fri, 30 Apr 2021 12:49:58 +0000 (14:49 +0200)]
Sync rustc_codegen_cranelift 'ddd4ce25535cf71203ba3700896131ce55fde795'

3 years agoAuto merge of #84522 - CDirkx:cmath, r=yaahc
bors [Fri, 30 Apr 2021 09:52:32 +0000 (09:52 +0000)]
Auto merge of #84522 - CDirkx:cmath, r=yaahc

Reuse `sys::unix::cmath` on other platforms

Reuse `sys::unix::cmath` on all non-`windows` platforms.

`unix` is chosen as the canonical location instead of `unsupported` or `common` because `unsupported` doesn't make sense semantically and `common` is reserved for code that is supported on all platforms. Also `unix` is already the home of some non-`windows` code that is technically not exclusive to `unix` like `unix::path`.

3 years agoRemove unused parameter
bjorn3 [Fri, 30 Apr 2021 08:52:37 +0000 (10:52 +0200)]
Remove unused parameter

3 years agoAuto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov
bors [Fri, 30 Apr 2021 06:59:37 +0000 (06:59 +0000)]
Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov

Implement RFC 1260 with feature_name `imported_main`.

This is the second extraction part of #84062 plus additional adjustments.
This (mostly) implements RFC 1260.

However there's still one test case failure in the extern crate case. Maybe `LocalDefId` doesn't work here? I'm not sure.

cc https://github.com/rust-lang/rust/issues/28937
r? `@petrochenkov`

3 years agoAuto merge of #84729 - jackh726:rollup-dnm8kg5, r=jackh726
bors [Thu, 29 Apr 2021 23:28:28 +0000 (23:28 +0000)]
Auto merge of #84729 - jackh726:rollup-dnm8kg5, r=jackh726

Rollup of 10 pull requests

Successful merges:

 - #84451 (Use flex more consistently)
 - #84590 (Point out that behavior might be switched on 2015 and 2018 too one day)
 - #84682 (Don't rebind in `transitive_bounds_that_define_assoc_type`)
 - #84683 (Minor grammar tweaks for readability to btree internals)
 - #84688 (Remove unnecessary CSS rules for search results)
 - #84690 (Remove unneeded bottom margin on search results)
 - #84692 (Link between std::env::{var, var_os} and std::env::{vars, vars_os})
 - #84705 (make feature recommendations optional)
 - #84706 (Drop alias `reduce` for `fold` - we have a `reduce` function)
 - #84713 (Fix labels for regression issue template)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

3 years agoRollup merge of #84713 - camelid:fix-regression-issue-template, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 23:27:27 +0000 (19:27 -0400)]
Rollup merge of #84713 - camelid:fix-regression-issue-template, r=Mark-Simulacrum

Fix labels for regression issue template

Each label needs to be separated by a comma (see the ICE issue template
for an example of correct usage).

As a result of this problem, the `regression-untriaged` label has not
been automatically added to issues opened with this template.

See c127530be76bd8aebc7b61f3b4a54f1be577f74c for another example of this.

r? `````@Mark-Simulacrum`````

3 years agoRollup merge of #84706 - joshtriplett:reduce-aliases, r=m-ou-se
Jack Huey [Thu, 29 Apr 2021 23:27:27 +0000 (19:27 -0400)]
Rollup merge of #84706 - joshtriplett:reduce-aliases, r=m-ou-se

Drop alias `reduce` for `fold` - we have a `reduce` function

Searching for "reduce" currently puts the `reduce` alias for `fold`
above the actual `reduce` function. The `reduce` function already has a
cross-reference for `fold`, and vice versa.

3 years agoRollup merge of #84705 - lcnr:const_generics-rec, r=joshtriplett
Jack Huey [Thu, 29 Apr 2021 23:27:26 +0000 (19:27 -0400)]
Rollup merge of #84705 - lcnr:const_generics-rec, r=joshtriplett

make feature recommendations optional

this is what we're already doing for other feature gates, so it's better to be consistent

3 years agoRollup merge of #84692 - r00ster91:var-var_os-vars, r=joshtriplett
Jack Huey [Thu, 29 Apr 2021 23:27:25 +0000 (19:27 -0400)]
Rollup merge of #84692 - r00ster91:var-var_os-vars, r=joshtriplett

Link between std::env::{var, var_os} and std::env::{vars, vars_os}

In #84551 I linked between `std::env::{args, args_os}` and this PR does the same but for `std::env::{var, var_os}` and `std::env::{vars, vars_os}`. Now all of `std::env::{var, var_os, vars, vars_os, args, args_os}` should each mention their `_os` or non-`_os` equivalent in the docs so that you can easily navigate between them.

3 years agoRollup merge of #84690 - GuillaumeGomez:unneeded-bottom-margin-search-results, r...
Jack Huey [Thu, 29 Apr 2021 23:27:24 +0000 (19:27 -0400)]
Rollup merge of #84690 - GuillaumeGomez:unneeded-bottom-margin-search-results, r=Nemo157

Remove unneeded bottom margin on search results

As you can see, there is still more than enough space at the bottom:

![Screenshot from 2021-04-29 11-26-57](https://user-images.githubusercontent.com/3050060/116530090-ea797800-a8dd-11eb-8eef-2288cf68e0d2.png)

r? ``````@Nemo157``````

3 years agoRollup merge of #84688 - GuillaumeGomez:remove-unnecessary-css-for-search-results...
Jack Huey [Thu, 29 Apr 2021 23:27:24 +0000 (19:27 -0400)]
Rollup merge of #84688 - GuillaumeGomez:remove-unnecessary-css-for-search-results, r=Nemo157

Remove unnecessary CSS rules for search results

Discovered that this was useless when working on https://github.com/rust-lang/docs.rs/issues/1382.

r? ````````@Nemo157````````

3 years agoRollup merge of #84683 - Ben-Lichtman:grammar, r=jonas-schievink
Jack Huey [Thu, 29 Apr 2021 23:27:23 +0000 (19:27 -0400)]
Rollup merge of #84683 - Ben-Lichtman:grammar, r=jonas-schievink

Minor grammar tweaks for readability to btree internals

I was reading through the btree implementation and I noticed some grammar that could be improved in Node.rs so here is what I think would be a minor improvement.

3 years agoRollup merge of #84682 - jackh726:transitive_bounds_rebind, r=nikomatsakis
Jack Huey [Thu, 29 Apr 2021 23:27:22 +0000 (19:27 -0400)]
Rollup merge of #84682 - jackh726:transitive_bounds_rebind, r=nikomatsakis

Don't rebind in `transitive_bounds_that_define_assoc_type`

Fixes #83737
Fixes #84604

Also fixes another issue that I don't have a test for, popped up in [zulip](https://rust-lang.zulipchat.com/#narrow/stream/144729-wg-traits/topic/Duplicate.20symbol.20error.20.2384604/near/236570445)

r? `````@nikomatsakis`````

3 years agoRollup merge of #84590 - est31:array_into_iter, r=nikomatsakis
Jack Huey [Thu, 29 Apr 2021 23:27:21 +0000 (19:27 -0400)]
Rollup merge of #84590 - est31:array_into_iter, r=nikomatsakis

Point out that behavior might be switched on 2015 and 2018 too one day

Reword documentation to make it clear that behaviour can be switched on older editions too, one day in the future. It doesn't *have* to be switched, but I think it's good to have it as an option and re-evaluate it a few months/years down the line when e.g. the crates that showed up in crater were broken by different changes in the language already.

cc #25725, #65819, #66145, #84147 , and https://github.com/rust-lang/rust/issues/84133#issuecomment-818005314

3 years agoRollup merge of #84451 - torhovland:flex, r=jsha
Jack Huey [Thu, 29 Apr 2021 23:27:20 +0000 (19:27 -0400)]
Rollup merge of #84451 - torhovland:flex, r=jsha

Use flex more consistently

Builds on #84376, related to #84354.

- Fully replaces `float: right` with `flex` on `.content .out-of-band`.
- Uses `flex` more consistently with existing usage (on `h3`, `h4`, etc.).

Tested on various widths to make sure the pages behave as before.

3 years agoFix labels for regression issue template
Camelid [Thu, 29 Apr 2021 20:13:28 +0000 (13:13 -0700)]
Fix labels for regression issue template

Each label needs to be separated by a comma (see the ICE issue template
for an example of correct usage).

As a result of this problem, the `regression-untriaged` label has not
been automatically added to issues opened with this template.

See c127530be76bd8aebc7b61f3b4a54f1be577f74c for another example of this.

3 years agoAuto merge of #84708 - pnkfelix:revert-77885-everywhere, r=Mark-Simulacrum
bors [Thu, 29 Apr 2021 20:06:07 +0000 (20:06 +0000)]
Auto merge of #84708 - pnkfelix:revert-77885-everywhere, r=Mark-Simulacrum

Revert PR 77885 everywhere

Change to probe-stack=call (instead of inline-or-call) everywhere again, for now.

We had already reverted the change on stable back in PR #83412.

Since then, we've had some movement on issue #83139, but not a 100% fix.

But also since then, we had bug reported, issue #84667, that looks like outright codegen breakage, rather than problems confined to debuginfo issues.    So we are reverting PR #77885 on stable and beta. We'll reland PR #77885 (or some    variant) switching back to an LLVM-dependent selection of out-of-line call vs    inline-asm, after these other issues have been resolved.

3 years agoRemove tests introduced or cahnged by PR #77885, which is reverted in this PR.
Felix S. Klock II [Thu, 29 Apr 2021 19:12:46 +0000 (15:12 -0400)]
Remove tests introduced or cahnged by PR #77885, which is reverted in this PR.

3 years agoChange to probe-stack=call (instead of inline-or-call) everywhere again, for now.
Felix S. Klock II [Thu, 29 Apr 2021 19:11:46 +0000 (15:11 -0400)]
Change to probe-stack=call (instead of inline-or-call) everywhere again, for now.

We had already reverted the change on stable back in PR #83412.

Since then, we've had some movement on issue #83139, but not a 100% fix.

But also since then, we had bug reported, issue #84667, that looks like outright
codegen breakage, rather than problems confined to debuginfo issues.

So we are reverting PR #77885 on stable and beta. We'll reland PR #77885 (or some
variant) switching back to an LLVM-dependent selection of out-of-line call vs
inline-asm, after these other issues have been resolved.

3 years agoDrop alias `reduce` for `fold` - we have a `reduce` function
Josh Triplett [Thu, 29 Apr 2021 19:05:08 +0000 (12:05 -0700)]
Drop alias `reduce` for `fold` - we have a `reduce` function

Searching for "reduce" currently puts the `reduce` alias for `fold`
above the actual `reduce` function. The `reduce` function already has a
cross-reference for `fold`, and vice versa.

3 years agomake feature recommendations optional
lcnr [Thu, 29 Apr 2021 18:06:11 +0000 (20:06 +0200)]
make feature recommendations optional

3 years agoAuto merge of #84556 - RalfJung:const-fn-trait-bound, r=oli-obk
bors [Thu, 29 Apr 2021 17:38:37 +0000 (17:38 +0000)]
Auto merge of #84556 - RalfJung:const-fn-trait-bound, r=oli-obk

use correct feature flag for impl-block-level trait bounds on const fn

I am not sure what that special hack was needed for, but it doesn't seem needed any more...

This removes the last use of the `const_fn` feature flag -- Cc https://github.com/rust-lang/rust/issues/84510
r? `@oli-obk`

3 years agoAuto merge of #84233 - jyn514:track-path-prefix, r=michaelwoerister
bors [Thu, 29 Apr 2021 14:57:17 +0000 (14:57 +0000)]
Auto merge of #84233 - jyn514:track-path-prefix, r=michaelwoerister

Add TRACKED_NO_CRATE_HASH and use it for `--remap-path-prefix`

I verified locally that this fixes https://github.com/rust-lang/rust/issues/66955.

r? `@Aaron1011` (feel free to reassign)

3 years agoAdd integration test for `--remap-pathh-prefix`
Joshua Nelson [Wed, 28 Apr 2021 21:47:26 +0000 (21:47 +0000)]
Add integration test for `--remap-pathh-prefix`

3 years agoUse doc-comment instad of comments consistently
Joshua Nelson [Tue, 27 Apr 2021 16:44:14 +0000 (16:44 +0000)]
Use doc-comment instad of comments consistently

This makes the comments show up in the generated docs.

- Fix markdown formatting

3 years agoIgnore new failing rustc test
bjorn3 [Thu, 29 Apr 2021 12:16:16 +0000 (14:16 +0200)]
Ignore new failing rustc test

3 years agoAuto merge of #84189 - jyn514:clippy-dev, r=Mark-Simulacrum
bors [Thu, 29 Apr 2021 12:03:43 +0000 (12:03 +0000)]
Auto merge of #84189 - jyn514:clippy-dev, r=Mark-Simulacrum

Implement `x.py test src/tools/clippy --bless`

- Add clippy_dev to the rust workspace

  Before, it would give an error that it wasn't either included or
  excluded from the workspace:

  ```
  error: current package believes it's in a workspace when it's not:
  current:   /home/joshua/rustc/src/tools/clippy/clippy_dev/Cargo.toml
  workspace: /home/joshua/rustc/Cargo.toml

  this may be fixable by adding `src/tools/clippy/clippy_dev` to the `workspace.members` array of the manifest located at: /home/joshua/rustc/Cargo.toml
  Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.
  ```

- Change clippy's copy of compiletest not to special-case
  rust-lang/rust. Using OUT_DIR confused `clippy_dev` and it couldn't find
  the test outputs. This is one of the reasons why `cargo dev bless` used
  to silently do nothing (the others were that `CARGO_TARGET_DIR` and
  `PROFILE` weren't set appropriately).

- Run clippy_dev on test failure

I tested this by removing a couple lines from a stderr file, and they
were correctly replaced.

- Fix clippy_dev warnings

3 years agoLink between std::env::{var, var_os} and std::env::{vars, vars_os}
r00ster91 [Thu, 29 Apr 2021 11:15:49 +0000 (13:15 +0200)]
Link between std::env::{var, var_os} and std::env::{vars, vars_os}

3 years agoIgnore doctests in bootstrap
est31 [Thu, 29 Apr 2021 10:39:23 +0000 (12:39 +0200)]
Ignore doctests in bootstrap

On bootstrap the IntoIterator trait is not implemented
yet for arrays.

3 years agore-bless on 32bit
Ralf Jung [Thu, 29 Apr 2021 10:15:30 +0000 (12:15 +0200)]
re-bless on 32bit

3 years agoRemove unneeded bottom margin on search results
Guillaume Gomez [Thu, 29 Apr 2021 09:26:35 +0000 (11:26 +0200)]
Remove unneeded bottom margin on search results

3 years agoRemove unnecessary CSS rules for search results
Guillaume Gomez [Thu, 29 Apr 2021 08:40:10 +0000 (10:40 +0200)]
Remove unnecessary CSS rules for search results

3 years agoAuto merge of #84618 - lrh2000:fix-gdb-10-str, r=Mark-Simulacrum
bors [Thu, 29 Apr 2021 08:22:44 +0000 (08:22 +0000)]
Auto merge of #84618 - lrh2000:fix-gdb-10-str, r=Mark-Simulacrum

Fix failed tests related to pointer printing when using GDB 10

As mentioned in #79009, there are four failed debuginfo test cases when using GDB 10. This PR fixes two of them, which fail because GDB 10 won't print pointers as string anymore. We can use `printf` as a workaround. It should work regardless of the version of GDB.

Refer this [comment] for more details.

[comment]: https://github.com/rust-lang/rust/issues/79009#issuecomment-826952708

3 years agoremove const_fn feature gate from const tests
Ralf Jung [Mon, 26 Apr 2021 12:53:41 +0000 (14:53 +0200)]
remove const_fn feature gate from const tests

3 years agodon't let const_fn feature flag affect impl-block-level trait bounds
Ralf Jung [Sun, 25 Apr 2021 16:42:53 +0000 (18:42 +0200)]
don't let const_fn feature flag affect impl-block-level trait bounds

3 years agoAuto merge of #84684 - jackh726:rollup-qxc5cos, r=jackh726
bors [Thu, 29 Apr 2021 05:24:45 +0000 (05:24 +0000)]
Auto merge of #84684 - jackh726:rollup-qxc5cos, r=jackh726

Rollup of 11 pull requests

Successful merges:

 - #84484 (Don't rebuild rustdoc and clippy after checking bootstrap)
 - #84530 (`test tidy` should ignore alternative `build` dir patterns)
 - #84531 (Ignore commented out lines when finding features)
 - #84540 (Build sanitizers for x86_64-unknown-linux-musl)
 - #84555 (Set `backtrace-on-ice` by default for compiler and codegen profiles)
 - #84585 (Add `x.py check src/librustdoc` as an alias for `x.py check src/tools/rustdoc`)
 - #84636 (rustdoc: change aliases attribute to data-aliases)
 - #84646 (Add some regression tests related to #82494)
 - #84661 (Remove extra word in `rustc_mir` docs)
 - #84663 (Remove `DropGuard` in `sys::windows::process` and use `StaticMutex` instead)
 - #84668 (Update books)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

3 years agoRollup merge of #84668 - ehuss:update-books, r=ehuss
Jack Huey [Thu, 29 Apr 2021 02:59:32 +0000 (22:59 -0400)]
Rollup merge of #84668 - ehuss:update-books, r=ehuss

Update books

## reference

5 commits in e1abb17cd94cd5a8a374b48e1bc8134a2208ed48..d23f9da8469617e6c81121d9fd123443df70595d
2021-04-07 08:09:48 -0700 to 2021-04-28 11:16:44 -0700
- Document or-patterns (rust-lang-nursery/reference#957)
- fixed a typo in traits.md (rust-lang-nursery/reference#1009)
- Improve clarity and style consistency of crate type list (rust-lang-nursery/reference#1005)
- added macro_rules to weak keywords (rust-lang-nursery/reference#1008)
- Move non-ascii-idents content from unstable book to reference. (rust-lang-nursery/reference#999)

## book

1 commits in b54090a99ec7c4b46a5203a9c927fdbc311bb1f5..50dd06cb71beb27fdc0eebade5509cdcc1f821ed
2021-03-24 11:21:46 -0500 to 2021-04-23 13:21:54 -0500
- Update link in COPYRIGHT (http to https) (rust-lang/book#2704)

## rust-by-example

3 commits in c80f0b09fc15b9251825343be910c08531938ab2..e0a721f5202e6d9bec0aff99f10e44480c0da9e7
2021-04-08 10:28:17 -0300 to 2021-04-27 09:32:15 -0300
- broken long comments in src/types/cast.md to several shortones (rust-lang/rust-by-example#1430)
- Fix link of formatting traits (rust-lang/rust-by-example#1410)
- chore: Fix the indention of Borrowed definition (rust-lang/rust-by-example#1436)

## rustc-dev-guide

8 commits in a9bd2bbf31e4f92b5d3d8e80b22839d0cc7a2022..e72b43a64925ce053dc7830e21c1a57ba00499bd
2021-04-09 18:12:21 -0400 to 2021-04-27 12:35:37 -0700
- Suggest using `git range-diff` (rust-lang/rustc-dev-guide#1092)
- Remove the possible unnecessary flag
- Replace some Travis-related things completely
- Trigger GHA only on the original repo
- Add sample nix shell
- more RA config suggestions (rust-lang/rustc-dev-guide#1114)
- Add Polymorphisation paper (rust-lang/rustc-dev-guide#1093)
- Mention unpretty=mir-cfg for debugging MIR

3 years agoRollup merge of #84663 - CDirkx:dropguard, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 02:59:31 +0000 (22:59 -0400)]
Rollup merge of #84663 - CDirkx:dropguard, r=Mark-Simulacrum

Remove `DropGuard` in `sys::windows::process` and use `StaticMutex` instead

`StaticMutex` is a mutex that when locked provides a guard that unlocks the mutex again when dropped, thus provides the exact same functionality as `DropGuard`. `StaticMutex` is used in more places, and is thus preferred over an ad-hoc construct like `DropGuard`.

````@rustbot```` label: +T-libs-impl

3 years agoRollup merge of #84661 - pierwill:patch-1, r=jackh726
Jack Huey [Thu, 29 Apr 2021 02:59:30 +0000 (22:59 -0400)]
Rollup merge of #84661 - pierwill:patch-1, r=jackh726

Remove extra word in `rustc_mir` docs

Changes "is includes" to "includes" in `rustc_mir::borrow_check::type_check::type_check`.

3 years agoRollup merge of #84646 - JohnTitor:add-some-bad-placeholder-tests, r=Dylan-DPC
Jack Huey [Thu, 29 Apr 2021 02:59:29 +0000 (22:59 -0400)]
Rollup merge of #84646 - JohnTitor:add-some-bad-placeholder-tests, r=Dylan-DPC

Add some regression tests related to #82494

Closes #75883, closes #80779
r? ````@estebank````

3 years agoRollup merge of #84636 - notriddle:data-aliases, r=jyn514,GuillaumeGomez
Jack Huey [Thu, 29 Apr 2021 02:59:28 +0000 (22:59 -0400)]
Rollup merge of #84636 - notriddle:data-aliases, r=jyn514,GuillaumeGomez

rustdoc: change aliases attribute to data-aliases

The "aliases" attribute is not listed [on MDN], so it sounds like it's rustdoc-specific. We don't want to conflict with any attributes that are added to the spec in the future.

[on MDN]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements

3 years agoRollup merge of #84585 - jyn514:check-rustdoc, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 02:59:27 +0000 (22:59 -0400)]
Rollup merge of #84585 - jyn514:check-rustdoc, r=Mark-Simulacrum

Add `x.py check src/librustdoc` as an alias for `x.py check src/tools/rustdoc`

I keep making this typo, it would be nice for it to be supported.

3 years agoRollup merge of #84555 - jyn514:ice-backtrace, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 02:59:26 +0000 (22:59 -0400)]
Rollup merge of #84555 - jyn514:ice-backtrace, r=Mark-Simulacrum

Set `backtrace-on-ice` by default for compiler and codegen profiles

If there's an ICE while bootstrapping, it's most likely because of a change to the compiler.

3 years agoRollup merge of #84540 - 12101111:enable-sanitizers, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 02:59:25 +0000 (22:59 -0400)]
Rollup merge of #84540 - 12101111:enable-sanitizers, r=Mark-Simulacrum

Build sanitizers for x86_64-unknown-linux-musl

The support of sanitizers on target `x86_64-unknown-linux-musl` is landed in https://github.com/rust-lang/rust/pull/84126

3 years agoRollup merge of #84531 - Smittyvb:foo-not-feature, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 02:59:24 +0000 (22:59 -0400)]
Rollup merge of #84531 - Smittyvb:foo-not-feature, r=Mark-Simulacrum

Ignore commented out lines when finding features

This fixes #76246, where commented out lines were being detected as features by `tidy`, by ignoring those lines when looking for features. It's still not perfect, since it can be fooled by things like:
```rust
/*
#[unstable(feature = "foo", issue = "1234")]
*/
```
But luckily that never happens in `rustc`, so `foo` now ceases to appear in the unstable book.

3 years agoRollup merge of #84530 - richkadel:test-tidy-build-dirs, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 02:59:23 +0000 (22:59 -0400)]
Rollup merge of #84530 - richkadel:test-tidy-build-dirs, r=Mark-Simulacrum

`test tidy` should ignore alternative `build` dir patterns

I need to have multiple `build` directories, such as `build`,
`build-fuchsia`, and `build-test`. But when I'm uploading a change, I
run `./x.py test tidy`, and if I have a `build-something` directory with
Rust sources, I git a bunch of formatting errors.

`rustfmt.toml` only ignores the directory named `build`.

This change extends the patterns to also ignore `build-*` and `*-build`.

As a rustc contributor, I not only build the rust compiler to develop
new features, but I also build alternative "distributions" (using
secondary `*-config.toml` files with different configurations),
including:

* To occasionally rebuild a version of the compiler that `rust-analyzer`
can use to `check` source (which fixes issues in the VS Code UI, so
changing and rebuilding the compiler does not break VS Code editing Rust
code).
* To build custom distributions for Fuchsia
* To build test distributions when working on changes to `bootstrap`
(e.g., when I recently added `rust-demangler` to distributions)

3 years agoRollup merge of #84484 - jyn514:check-tools, r=Mark-Simulacrum
Jack Huey [Thu, 29 Apr 2021 02:59:22 +0000 (22:59 -0400)]
Rollup merge of #84484 - jyn514:check-tools, r=Mark-Simulacrum

Don't rebuild rustdoc and clippy after checking bootstrap

This works by unconditionally passing -Z unstable-options to the
compiler. This has no affect in practice since bootstrap doesn't use
`deny(rustc::internal)`.

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

r? ```@Mark-Simulacrum```

3 years agoAuto merge of #84614 - RalfJung:daily, r=Mark-Simulacrum
bors [Thu, 29 Apr 2021 02:53:52 +0000 (02:53 +0000)]
Auto merge of #84614 - RalfJung:daily, r=Mark-Simulacrum

don't enable parking_lot nightly features

Having the compiler itself depend on external libraries that use nightly features can lead to "fun" bootstrap situations. Within the rustc repo we use `cfg(bootstrap)` to resolve those, but that is not a reasonable option for external dependencies.

So I propose we stop enabling the "nightly" feature of `parking_lot` here. In my experiments, this then indeed leads to the feature not being enabled (i.e., nothing else enables it), and everything still builds. However, this means parking_lot's `RwLock` will no longer have hardware lock elision for readers -- I hope that is okay to lose in exchange for less bootstrap brain twisting. ;)

Cc `@Amanieu`

3 years agoMinor grammar tweaks for readability
Ben-Lichtman [Thu, 29 Apr 2021 02:43:33 +0000 (19:43 -0700)]
Minor grammar tweaks for readability

3 years agoImplement RFC 1260 with feature_name `imported_main`.
Charles Lew [Sun, 25 Apr 2021 17:09:35 +0000 (01:09 +0800)]
Implement RFC 1260 with feature_name `imported_main`.

3 years agoAuto merge of #84615 - a1phyr:clone_from_pathbuf_osstring, r=Mark-Simulacrum
bors [Wed, 28 Apr 2021 23:25:23 +0000 (23:25 +0000)]
Auto merge of #84615 - a1phyr:clone_from_pathbuf_osstring, r=Mark-Simulacrum

Override `clone_from` method for PathBuf and OsString

This was not the case before because `#[derive(Clone)]` do not do it.

3 years agoDon't rebind in transitive_bounds_that_define_assoc_type
Jack Huey [Wed, 28 Apr 2021 22:10:44 +0000 (18:10 -0400)]
Don't rebind in transitive_bounds_that_define_assoc_type

3 years agoAdd `x.py check src/librustdoc` as an alias for `x.py check src/tools/rustdoc`
Joshua Nelson [Mon, 26 Apr 2021 12:22:47 +0000 (08:22 -0400)]
Add `x.py check src/librustdoc` as an alias for `x.py check src/tools/rustdoc`

3 years agoAuto merge of #83386 - mark-i-m:stabilize-pat2015, r=nikomatsakis
bors [Wed, 28 Apr 2021 20:35:17 +0000 (20:35 +0000)]
Auto merge of #83386 - mark-i-m:stabilize-pat2015, r=nikomatsakis

Stabilize `:pat_param` and remove `:pat2021`

Blocked on #83384

cc `@rust-lang/lang` #79278

If I understand `@nikomatsakis` in  https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/or.20patterns/near/231133873, another FCP is not needed.

r? `@nikomatsakis`

3 years agoUpdate books
Eric Huss [Wed, 28 Apr 2021 18:28:57 +0000 (11:28 -0700)]
Update books

3 years agoAuto merge of #84650 - a1phyr:simplify_mutex_into_inner, r=m-ou-se
bors [Wed, 28 Apr 2021 18:08:01 +0000 (18:08 +0000)]
Auto merge of #84650 - a1phyr:simplify_mutex_into_inner, r=m-ou-se

Simplify `Mutex::into_inner`

Thanks to #77147, `Mutex` do not implement `Drop` directly, so the old unsafe implementation of `into_inner` is not relevant anymore.

3 years agoRustup to rustc 1.53.0-nightly (727d10156 2021-04-27)
bjorn3 [Wed, 28 Apr 2021 17:41:10 +0000 (19:41 +0200)]
Rustup to rustc 1.53.0-nightly (727d10156 2021-04-27)

3 years agorustdoc: update auto_aliases test case with data-aliases attribute
Michael Howell [Tue, 27 Apr 2021 23:27:07 +0000 (16:27 -0700)]
rustdoc: update auto_aliases test case with data-aliases attribute

3 years agorustdoc: change aliases attribute to data-aliases
Michael Howell [Tue, 27 Apr 2021 22:47:49 +0000 (15:47 -0700)]
rustdoc: change aliases attribute to data-aliases

The "aliases" attribute is not listed [on MDN], so it sounds like
it's rustdoc-specific. We don't want to conflict with any attributes
that are added to the spec in the future.

[on MDN]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements

3 years agoRemove `DropGuard` in `sys::windows::process` and use `StaticMutex` instead
Christiaan Dirkx [Wed, 28 Apr 2021 17:11:57 +0000 (19:11 +0200)]
Remove `DropGuard` in `sys::windows::process` and use `StaticMutex` instead

3 years agoRemove extra word in `rustc_mir` docs
pierwill [Wed, 28 Apr 2021 16:53:32 +0000 (09:53 -0700)]
Remove extra word in `rustc_mir` docs

Changes "is includes" to "includes" in `rustc_mir::borrow_check::type_check::type_check`.

3 years agoAuto merge of #84645 - lnicola:rust-analyzer-2021-04-26, r=jonas-schievink
bors [Wed, 28 Apr 2021 15:46:26 +0000 (15:46 +0000)]
Auto merge of #84645 - lnicola:rust-analyzer-2021-04-26, r=jonas-schievink

:arrow_up: rust-analyzer

3 years agoAdd HAS_RE_LATE_BOUND if there are bound vars
Jack Huey [Wed, 28 Apr 2021 14:18:52 +0000 (10:18 -0400)]
Add HAS_RE_LATE_BOUND if there are bound vars

3 years agoAuto merge of #84562 - richkadel:issue-83601, r=tmandry
bors [Wed, 28 Apr 2021 13:05:16 +0000 (13:05 +0000)]
Auto merge of #84562 - richkadel:issue-83601, r=tmandry

Adds feature-gated `#[no_coverage]` function attribute, to fix derived Eq `0` coverage issue #83601

Derived Eq no longer shows uncovered

The Eq trait has a special hidden function. MIR `InstrumentCoverage`
would add this function to the coverage map, but it is never called, so
the `Eq` trait would always appear uncovered.

Fixes: #83601
The fix required creating a new function attribute `no_coverage` to mark
functions that should be ignored by `InstrumentCoverage` and the
coverage `mapgen` (during codegen).

Adding a `no_coverage` feature gate with tracking issue #84605.

r? `@tmandry`
cc: `@wesleywiser`

3 years agoReuse `unix::cmath`
Christiaan Dirkx [Sat, 24 Apr 2021 15:50:40 +0000 (17:50 +0200)]
Reuse `unix::cmath`

3 years agoSimplify `Mutex::into_inner`
Benoît du Garreau [Wed, 28 Apr 2021 11:56:23 +0000 (13:56 +0200)]
Simplify `Mutex::into_inner`

3 years agoAuto merge of #83401 - fee1-dead:master, r=davidtwco
bors [Wed, 28 Apr 2021 10:46:02 +0000 (10:46 +0000)]
Auto merge of #83401 - fee1-dead:master, r=davidtwco

Fix ICE of for-loop mut borrowck where no suggestions are available

Fixes #83309.

3 years agoAdd a regression test for #80779
Yuki Okushi [Wed, 28 Apr 2021 09:23:49 +0000 (18:23 +0900)]
Add a regression test for #80779

3 years agoAdd a regression test for #75883
Yuki Okushi [Wed, 28 Apr 2021 09:23:44 +0000 (18:23 +0900)]
Add a regression test for #75883

3 years ago:arrow_up: rust-analyzer
Laurențiu Nicola [Wed, 28 Apr 2021 09:09:34 +0000 (12:09 +0300)]
:arrow_up: rust-analyzer

3 years agoAuto merge of #84644 - JohnTitor:rollup-nzq9rjz, r=JohnTitor
bors [Wed, 28 Apr 2021 08:20:19 +0000 (08:20 +0000)]
Auto merge of #84644 - JohnTitor:rollup-nzq9rjz, r=JohnTitor

Rollup of 5 pull requests

Successful merges:

 - #84529 (Improve coverage spans for chained function calls)
 - #84616 (Fix empty dom toggle)
 - #84622 (Make traits with GATs not object safe)
 - #84624 (Make sentence in env::args_os' docs plain and simple)
 - #84642 (Stabilize vec_extend_from_within)

Failed merges:

 - #84636 (rustdoc: change aliases attribute to data-aliases)

r? `@ghost`
`@rustbot` modify labels: rollup

3 years agoRollup merge of #84642 - Amanieu:vec_extend_from_within, r=dtolnay
Yuki Okushi [Wed, 28 Apr 2021 07:59:11 +0000 (16:59 +0900)]
Rollup merge of #84642 - Amanieu:vec_extend_from_within, r=dtolnay

Stabilize vec_extend_from_within

Closes #81656

3 years agoRollup merge of #84624 - r00ster91:patch-5, r=JohnTitor
Yuki Okushi [Wed, 28 Apr 2021 07:59:09 +0000 (16:59 +0900)]
Rollup merge of #84624 - r00ster91:patch-5, r=JohnTitor

Make sentence in env::args_os' docs plain and simple

Follow-up to #84551. See https://github.com/rust-lang/rust/pull/84551#discussion_r620728070 on why this makes more sense.

3 years agoRollup merge of #84622 - jackh726:gats-trait-object, r=nikomatsakis
Yuki Okushi [Wed, 28 Apr 2021 07:59:08 +0000 (16:59 +0900)]
Rollup merge of #84622 - jackh726:gats-trait-object, r=nikomatsakis

Make traits with GATs not object safe

Closes #81823

r? `@nikomatsakis`

3 years agoRollup merge of #84616 - GuillaumeGomez:fix-empty-dom-toggle, r=jsha
Yuki Okushi [Wed, 28 Apr 2021 07:59:07 +0000 (16:59 +0900)]
Rollup merge of #84616 - GuillaumeGomez:fix-empty-dom-toggle, r=jsha

Fix empty dom toggle

Currently, the empty impl blocks have toggles:

![Screenshot from 2021-04-27 15-15-03](https://user-images.githubusercontent.com/3050060/116249703-5ee0d980-a76d-11eb-9e15-738c06e4fb1b.png)

So when you expand it, nothing happens:

![Screenshot from 2021-04-27 15-15-07](https://user-images.githubusercontent.com/3050060/116249746-686a4180-a76d-11eb-8dc1-221ca0ac57c5.png)

So now, in case the impl block is empty, we simply don't generate the details/summary wrapping (which also makes DOM lighter, yeay!):

![Screenshot from 2021-04-27 15-14-15](https://user-images.githubusercontent.com/3050060/116249825-7a4be480-a76d-11eb-9637-b26151311ebd.png)

r? `@jsha`

3 years agoRollup merge of #84529 - richkadel:issue-84180, r=tmandry
Yuki Okushi [Wed, 28 Apr 2021 07:59:06 +0000 (16:59 +0900)]
Rollup merge of #84529 - richkadel:issue-84180, r=tmandry

Improve coverage spans for chained function calls

Fixes: #84180
For chained function calls separated by the `?` try operator, the
function call following the try operator produced a MIR `Call` span that
matched the span of the first call. The `?` try operator started a new
span, so the second call got no span.

It turns out the MIR `Call` terminator has a `func` `Operand`
for the `Constant` representing the function name, and the function
name's Span can be used to reset the starting position of the span.

r? `@tmandry`
cc: `@wesleywiser`

3 years agoStabilize vec_extend_from_within
Amanieu d'Antras [Wed, 28 Apr 2021 06:12:49 +0000 (07:12 +0100)]
Stabilize vec_extend_from_within

3 years agoAuto merge of #83713 - spastorino:revert-pub-macro-rules, r=nikomatsakis
bors [Wed, 28 Apr 2021 05:52:47 +0000 (05:52 +0000)]
Auto merge of #83713 - spastorino:revert-pub-macro-rules, r=nikomatsakis

Revert "Rollup merge of #82296 - spastorino:pubrules, r=nikomatsakis"

This reverts commit e2561c58a41023a14e0e583113dcf55e1ecb236a, reversing
changes made to 2982ba50fc4bb629b8fe4108a81cb2f9b053510b.

As discussed in #83641 this feature is not complete and in particular doesn't work cross macros and given that this is not going to be included in edition 2021 nobody seems to be trying to fix the underlying problem. When can add this again I guess, whenever somebody has the time to make it work cross crates.

r? `@nikomatsakis`

3 years agoAuto merge of #84498 - workingjubilee:update-grab-bag, r=Mark-Simulacrum
bors [Wed, 28 Apr 2021 02:45:03 +0000 (02:45 +0000)]
Auto merge of #84498 - workingjubilee:update-grab-bag, r=Mark-Simulacrum

Update grab bag

This PR slides a bunch of crate versions forward until suddenly a bunch of deps fall out of the tree!
In doing so this mostly picks up a version bump in the `redox_users` crate which makes most of the features default to optional.

crossbeam-utils 0.7 => 0.8.3 (where applicable)
https://github.com/crossbeam-rs/crossbeam/blob/master/crossbeam-utils/CHANGELOG.md
directories 3.0.1 => 3.0.2
ignore 0.4.16 => 0.4.17
tempfile 3.0.5 => tempfile 3.2

Removes constant_time_eq from deps exceptions
Removes arrayref from deps exceptions
And also removes:
- blake2b_simd
- const_fn (the package, not the feature)
- constant_time_eq
- redox_users 0.3.4
- rust-argon2

3 years agoremove pat2021
mark [Wed, 28 Apr 2021 02:15:59 +0000 (21:15 -0500)]
remove pat2021

3 years agoadds feature gating of `no_coverage` at either crate- or function-level
Rich Kadel [Tue, 27 Apr 2021 04:25:30 +0000 (21:25 -0700)]
adds feature gating of `no_coverage` at either crate-  or function-level

3 years agoAdd a paragraph with possible alternatives on older editions
est31 [Tue, 27 Apr 2021 23:33:16 +0000 (01:33 +0200)]
Add a paragraph with possible alternatives on older editions

3 years agoAuto merge of #84635 - ehuss:update-cargo, r=ehuss
bors [Tue, 27 Apr 2021 22:46:14 +0000 (22:46 +0000)]
Auto merge of #84635 - ehuss:update-cargo, r=ehuss

Update cargo

5 commits in 0ed318d182e465cd66071b91ac3d265af63ef8a1..4369396ce7d270972955d876eaa4954bea56bcd9
2021-04-23 20:54:54 +0000 to 2021-04-27 14:35:53 +0000
- Fix rebuild issues with rustdoc. (rust-lang/cargo#9419)
- Always use full metadata hash for -C metadata. (rust-lang/cargo#9418)
- Expose build.target .cargo/config setting as packages.target in Cargo.toml (rust-lang/cargo#9030)
- Some changes to rustdoc fingerprint checking. (rust-lang/cargo#9404)
- Document that CARGO_PKG_ are availble to build.rs (rust-lang/cargo#9405)

3 years agoUpdate cargo
Eric Huss [Tue, 27 Apr 2021 21:35:07 +0000 (14:35 -0700)]
Update cargo

3 years agoAuto merge of #84494 - tdelabro:84304-bis, r=jyn514
bors [Tue, 27 Apr 2021 20:19:57 +0000 (20:19 +0000)]
Auto merge of #84494 - tdelabro:84304-bis, r=jyn514

84304 - rustdoc: shrink Item::Attributes

Helps with https://github.com/rust-lang/rust/issues/84304

3 years agoMake sentence in env::args_os' docs plain and simple
r00ster [Tue, 27 Apr 2021 19:31:04 +0000 (21:31 +0200)]
Make sentence in env::args_os' docs plain and simple

3 years agoMake traits with GATs not object safe
Jack Huey [Tue, 27 Apr 2021 18:34:23 +0000 (14:34 -0400)]
Make traits with GATs not object safe

3 years agoDerived Eq no longer shows uncovered
Rich Kadel [Sun, 25 Apr 2021 20:34:03 +0000 (13:34 -0700)]
Derived Eq no longer shows uncovered

The Eq trait has a special hidden function. MIR `InstrumentCoverage`
would add this function to the coverage map, but it is never called, so
the `Eq` trait would always appear uncovered.

Fixes: #83601
The fix required creating a new function attribute `no_coverage` to mark
functions that should be ignored by `InstrumentCoverage` and the
coverage `mapgen` (during codegen).

While testing, I also noticed two other issues:

* spanview debug file output ICEd on a function with no body. The
workaround for this is included in this PR.
* `assert_*!()` macro coverage can appear covered if followed by another
`assert_*!()` macro. Normally they appear uncovered. I submitted a new
Issue #84561, and added a coverage test to demonstrate this issue.

3 years agoAuto merge of #84620 - Dylan-DPC:rollup-wkv97im, r=Dylan-DPC
bors [Tue, 27 Apr 2021 17:58:59 +0000 (17:58 +0000)]
Auto merge of #84620 - Dylan-DPC:rollup-wkv97im, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #84132 (Ignore nonstandard lldb version strings in compiletest)
 - #84521 (Reuse modules on `hermit`)
 - #84563 (Update backtrace to 0.3.57)
 - #84610 (Update Clippy)
 - #84613 (move representability checks to rustc_ty_utils)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

3 years agoRollup merge of #84613 - lcnr:recursive-types, r=jackh726
Dylan DPC [Tue, 27 Apr 2021 17:08:50 +0000 (19:08 +0200)]
Rollup merge of #84613 - lcnr:recursive-types, r=jackh726

move representability checks to rustc_ty_utils

3 years agoRollup merge of #84610 - flip1995:clippyup, r=Manishearth,flip1995
Dylan DPC [Tue, 27 Apr 2021 17:08:49 +0000 (19:08 +0200)]
Rollup merge of #84610 - flip1995:clippyup, r=Manishearth,flip1995

Update Clippy

Out of cycle sync: I want to get https://github.com/rust-lang/rust-clippy/pull/7129 into beta that is branched next week.

This sync only adds one new feature in efc4c6c, which looks fine to me. Otherwise it only contains bug fixes and/or restricts lints further.

r? `@Manishearth`

3 years agoRollup merge of #84563 - jclulow:backtrace-upgrade, r=Mark-Simulacrum
Dylan DPC [Tue, 27 Apr 2021 17:08:48 +0000 (19:08 +0200)]
Rollup merge of #84563 - jclulow:backtrace-upgrade, r=Mark-Simulacrum

Update backtrace to 0.3.57

Adds support for symbol resolution on illumos systems.

3 years agoRollup merge of #84521 - CDirkx:hermit-dedup, r=Mark-Simulacrum
Dylan DPC [Tue, 27 Apr 2021 17:08:46 +0000 (19:08 +0200)]
Rollup merge of #84521 - CDirkx:hermit-dedup, r=Mark-Simulacrum

Reuse modules on `hermit`

Reuse the following modules on `hermit`:
- `unix::path` (contents identical)
- `unsupported::io` (contents identical)
- `unsupported::thread_local_key` (contents functionally identical, only changes are the panic error messages)

`@rustbot` label: +T-libs-impl

3 years agoRollup merge of #84132 - Manishearth:lldb-nonstandard, r=Mark-Simulacrum
Dylan DPC [Tue, 27 Apr 2021 17:08:45 +0000 (19:08 +0200)]
Rollup merge of #84132 - Manishearth:lldb-nonstandard, r=Mark-Simulacrum

Ignore nonstandard lldb version strings in compiletest

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

Unsure if I should do the same for the Apple LLDB branch above.

3 years agoSwitch `rustc::internal` from deny to warn
Joshua Nelson [Tue, 27 Apr 2021 17:00:36 +0000 (13:00 -0400)]
Switch `rustc::internal` from deny to warn

These should still obey deny-warnings.

3 years agoImplement `x.py test src/tools/clippy --bless`
Joshua Nelson [Wed, 14 Apr 2021 13:20:49 +0000 (09:20 -0400)]
Implement `x.py test src/tools/clippy --bless`

- Add clippy_dev to the rust workspace

  Before, it would give an error that it wasn't either included or
  excluded from the workspace:

  ```
  error: current package believes it's in a workspace when it's not:
  current:   /home/joshua/rustc/src/tools/clippy/clippy_dev/Cargo.toml
  workspace: /home/joshua/rustc/Cargo.toml

  this may be fixable by adding `src/tools/clippy/clippy_dev` to the `workspace.members` array of the manifest located at: /home/joshua/rustc/Cargo.toml
  Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.
  ```

- Change clippy's copy of compiletest not to special-case
  rust-lang/rust. Using OUT_DIR confused `clippy_dev` and it couldn't find
  the test outputs. This is one of the reasons why `cargo dev bless` used
  to silently do nothing (the others were that `CARGO_TARGET_DIR` and
  `PROFILE` weren't set appropriately).

- Run clippy_dev on test failure

I tested this by removing a couple lines from a stderr file, and they
were correctly replaced.

- Fix clippy_dev warnings

3 years agoMake `real_rust_path_dir` a TRACKED_NO_CRATE_HASH option
Joshua Nelson [Tue, 27 Apr 2021 16:25:12 +0000 (16:25 +0000)]
Make `real_rust_path_dir` a TRACKED_NO_CRATE_HASH option

This also adds support for doc-comments to Options.