]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agoUpdate `itertools`
pierwill [Fri, 4 Mar 2022 17:54:28 +0000 (11:54 -0600)]
Update `itertools`

Update to 0.10.1

2 years agoAuto merge of #94570 - shampoofactory:reopen-91719, r=workingjubilee
bors [Fri, 4 Mar 2022 13:06:14 +0000 (13:06 +0000)]
Auto merge of #94570 - shampoofactory:reopen-91719, r=workingjubilee

Reopen 91719

Reopened #91719, which was closed inadvertently due to technical difficulties.

2 years agoAuto merge of #94539 - tmiasko:string-attributes, r=nikic
bors [Fri, 4 Mar 2022 10:38:11 +0000 (10:38 +0000)]
Auto merge of #94539 - tmiasko:string-attributes, r=nikic

Pass LLVM string attributes as string slices

2 years agoAuto merge of #94159 - erikdesjardins:align-load, r=nikic
bors [Fri, 4 Mar 2022 08:14:31 +0000 (08:14 +0000)]
Auto merge of #94159 - erikdesjardins:align-load, r=nikic

Add !align metadata on loads of &/&mut/Box

Note that this refers to the alignment of what the loaded value points
to, _not_ the alignment of the loaded value itself.

r? `@ghost` (blocked on #94158)

2 years agoAuto merge of #94096 - cjgillot:ensure-stability, r=lcnr
bors [Fri, 4 Mar 2022 05:49:14 +0000 (05:49 +0000)]
Auto merge of #94096 - cjgillot:ensure-stability, r=lcnr

Ensure stability directives are checked in all cases

Split off  #93017

Stability and deprecation were not checked in all cases, for instance if a type error happened.
This PR moves the check earlier in the pipeline to ensure the errors are emitted in all cases.

r? `@lcnr`

2 years agoAuto merge of #94588 - Dylan-DPC:rollup-7pxd0i3, r=Dylan-DPC
bors [Fri, 4 Mar 2022 02:53:40 +0000 (02:53 +0000)]
Auto merge of #94588 - Dylan-DPC:rollup-7pxd0i3, r=Dylan-DPC

Rollup of 10 pull requests

Successful merges:

 - #88805 (Clarification of default socket flags)
 - #93418 (rustdoc & doc: no `shortcut` for `rel="icon"`)
 - #93913 (Remove the everybody loops pass)
 - #93965 (Make regular stdio lock() return 'static handles)
 - #94339 (ARM: Only allow using d16-d31 with asm! when supported by the target)
 - #94404 (Make Ord and PartialOrd opt-out in `newtype_index`)
 - #94466 (bootstrap: correct reading of flags for llvm)
 - #94572 (Use `HandleOrNull` and `HandleOrInvalid` in the Windows FFI bindings.)
 - #94575 (CTFE SwitchInt: update comment)
 - #94582 (Fix a bug in `x.py fmt` that prevents some files being formatted.)

Failed merges:

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

2 years agoRollup merge of #94582 - nnethercote:fix-x-fmt-bug, r=Mark-Simulacrum
Dylan DPC [Fri, 4 Mar 2022 01:06:44 +0000 (02:06 +0100)]
Rollup merge of #94582 - nnethercote:fix-x-fmt-bug, r=Mark-Simulacrum

Fix a bug in `x.py fmt` that prevents some files being formatted.

If you have a file in the repository root with the same name as a file
somewhere within a directory, the latter currently won't get formatted.

I have experienced this multiple times and not understood what was
happening; I finally figured out the problem today. This commit fixes
the problem.

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

2 years agoRollup merge of #94575 - RalfJung:switchint-comment, r=oli-obk
Dylan DPC [Fri, 4 Mar 2022 01:06:43 +0000 (02:06 +0100)]
Rollup merge of #94575 - RalfJung:switchint-comment, r=oli-obk

CTFE SwitchInt: update comment

I just wondered why this doesn't use `binary_op`.

r? ```@oli-obk```

2 years agoRollup merge of #94572 - sunfishcode:sunfishcode/handle-or, r=joshtriplett
Dylan DPC [Fri, 4 Mar 2022 01:06:42 +0000 (02:06 +0100)]
Rollup merge of #94572 - sunfishcode:sunfishcode/handle-or, r=joshtriplett

Use `HandleOrNull` and `HandleOrInvalid` in the Windows FFI bindings.

Use the new `HandleOrNull` and `HandleOrInvalid` types that were introduced
as part of [I/O safety] in a few functions in the Windows FFI bindings.

This factors out an `unsafe` block and two `unsafe` function calls in the
Windows implementation code.

And, it helps test `HandleOrNull` and `HandleOrInvalid`, and indeed, it
turned up a bug: `OwnedHandle` also needs to be `#[repr(transparent)]`,
as it's used inside of `HandleOrNull` and `HandleOrInvalid` which are also
`#[repr(transparent)]`.

r? ```@joshtriplett```

[I/O safety]: https://github.com/rust-lang/rust/issues/87074

2 years agoRollup merge of #94466 - jonhoo:bootstrap-proper-env-flags, r=Mark-Simulacrum
Dylan DPC [Fri, 4 Mar 2022 01:06:41 +0000 (02:06 +0100)]
Rollup merge of #94466 - jonhoo:bootstrap-proper-env-flags, r=Mark-Simulacrum

bootstrap: correct reading of flags for llvm

First, this reverts the `CFLAGS`/`CXXFLAGS` of #93918. Those flags are
already read by `cc` and populated into `Build` earlier on in the
process. We shouldn't be overriding that based on `CFLAGS`, since `cc`
also respects overrides like `CFLAGS_{TARGET}` and `HOST_CFLAGS`, which
we want to take into account.

Second, this adds the same capability to specify target-specific
versions of `LDFLAGS` as we have through `cc` for the `C*` flags:
https://github.com/alexcrichton/cc-rs#external-configuration-via-environment-variables

2 years agoRollup merge of #94404 - pierwill:newtype-index-noord-2, r=Aaron1011
Dylan DPC [Fri, 4 Mar 2022 01:06:41 +0000 (02:06 +0100)]
Rollup merge of #94404 - pierwill:newtype-index-noord-2, r=Aaron1011

Make Ord and PartialOrd opt-out in `newtype_index`

Part of work on #90317. This will allow us to do

```diff
rustc_index::newtype_index! {
    /// A unique ID associated with a macro invocation and expansion.
    pub struct LocalExpnId {
        ENCODABLE = custom
        DEBUG_FORMAT = "expn{}"
+       ORD_IMPL = off
    }
}
```

2 years agoRollup merge of #94339 - Amanieu:arm-d32, r=nagisa
Dylan DPC [Fri, 4 Mar 2022 01:06:40 +0000 (02:06 +0100)]
Rollup merge of #94339 - Amanieu:arm-d32, r=nagisa

ARM: Only allow using d16-d31 with asm! when supported by the target

Support can be determined by checking for the "d32" LLVM feature.

r? ```````````````@nagisa```````````````

2 years agoRollup merge of #93965 - Mark-Simulacrum:owned-stdio, r=dtolnay
Dylan DPC [Fri, 4 Mar 2022 01:06:39 +0000 (02:06 +0100)]
Rollup merge of #93965 - Mark-Simulacrum:owned-stdio, r=dtolnay

Make regular stdio lock() return 'static handles

This also deletes the unstable API surface area previously added to expose this
functionality on new methods rather than built into the current set.

Closes #86845 (tracking issue for unstable API needed without this)

r? ``````@dtolnay`````` to kick off T-libs-api FCP

2 years agoRollup merge of #93913 - bjorn3:remove_everybody_loops, r=jackh726
Dylan DPC [Fri, 4 Mar 2022 01:06:38 +0000 (02:06 +0100)]
Rollup merge of #93913 - bjorn3:remove_everybody_loops, r=jackh726

Remove the everybody loops pass

It isn't used anymore by rustdoc.

Split out of https://github.com/rust-lang/rust/pull/92895. There has been some previous discussion there.

2 years agoRollup merge of #93418 - ojeda:no-shortcut, r=camelid
Dylan DPC [Fri, 4 Mar 2022 01:06:38 +0000 (02:06 +0100)]
Rollup merge of #93418 - ojeda:no-shortcut, r=camelid

rustdoc & doc: no `shortcut` for `rel="icon"`

According to https://html.spec.whatwg.org/multipage/links.html#rel-icon:

> For historical reasons, the `icon` keyword may be preceded by the keyword "`shortcut`".

And to https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types:

> **Warning:** The `shortcut` link type is often seen before `icon`, but this link type is non-conforming, ignored and **web authors must not use it anymore.**

While it was removed from the Rust logo case a while ago in commit 085679c ("Use theme-adaptive SVG favicon from other Rust sites"), it is still there for the custom logo case.

Also updated a few other instances.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2 years agoRollup merge of #88805 - krhancoc:master, r=dtolnay
Dylan DPC [Fri, 4 Mar 2022 01:06:37 +0000 (02:06 +0100)]
Rollup merge of #88805 - krhancoc:master, r=dtolnay

Clarification of default socket flags

This PR outlines the decision to disable inheritance of socket objects when possible to child processes in the documentation.

2 years agoAuto merge of #94009 - compiler-errors:gat-rustdoc, r=GuillaumeGomez
bors [Fri, 4 Mar 2022 00:27:23 +0000 (00:27 +0000)]
Auto merge of #94009 - compiler-errors:gat-rustdoc, r=GuillaumeGomez

Support GATs in Rustdoc

Implements:
1. Rendering GATs in trait definitions and impl blocks
2. Rendering GATs in types (e.g. in the return type of a function)

Fixes #92341

This is my first rustdoc PR, so I have absolutely no idea how to produce tests for this. Advice from the rustdoc team would be wonderful!

I tested locally and things looked correct:
![image](https://user-images.githubusercontent.com/3674314/153988325-9732cbf3-0645-4e1a-9e64-ddfd93877b55.png)

2 years agoFix a bug in `x.py fmt` that prevents some files being formatted.
Nicholas Nethercote [Thu, 3 Mar 2022 22:26:31 +0000 (09:26 +1100)]
Fix a bug in `x.py fmt` that prevents some files being formatted.

If you have a file in the repository root with the same name as a file
somewhere within a directory, the latter currently won't get formatted.

I have experienced this multiple times and not understood what was
happening; I finally figured out the problem today. This commit fixes
the problem.

2 years agoAuto merge of #94571 - matthiaskrgr:rollup-4ul5ydb, r=matthiaskrgr
bors [Thu, 3 Mar 2022 21:40:28 +0000 (21:40 +0000)]
Auto merge of #94571 - matthiaskrgr:rollup-4ul5ydb, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #92697 (Use cgroup quotas for calculating `available_parallelism`)
 - #94057 (improve comments for `simplify_type`)
 - #94547 (`parse_tt` cleanups)
 - #94550 (rustdoc: Add test for higher kinded functions generated by macros)
 - #94551 (Doc: Fix use of quote instead of backstick in Adapter::map.)
 - #94554 (Fix invalid lint_node_id being put on a removed stmt)
 - #94555 (all: fix some typos)
 - #94563 (Remove a unnecessary `..` pattern)

Failed merges:

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

2 years agoadd tests
Michael Goulet [Sun, 20 Feb 2022 03:34:05 +0000 (19:34 -0800)]
add tests

2 years agodon't forget generics for GATs in impls
Michael Goulet [Tue, 15 Feb 2022 03:06:08 +0000 (19:06 -0800)]
don't forget generics for GATs in impls

2 years agomake generic projection types print correctly
Michael Goulet [Tue, 15 Feb 2022 03:01:56 +0000 (19:01 -0800)]
make generic projection types print correctly

2 years agoAdd a missing `#[no_mangle]`
scottmcm [Thu, 3 Mar 2022 19:52:45 +0000 (19:52 +0000)]
Add a missing `#[no_mangle]`

2 years agoCTFE SwitchInt: update comment
Ralf Jung [Thu, 3 Mar 2022 19:46:29 +0000 (14:46 -0500)]
CTFE SwitchInt: update comment

2 years agoUse `HandleOrNull` and `HandleOrInvalid` in the Windows FFI bindings.
Dan Gohman [Thu, 3 Mar 2022 19:07:23 +0000 (11:07 -0800)]
Use `HandleOrNull` and `HandleOrInvalid` in the Windows FFI bindings.

Use the new `HandleOrNull` and `HandleOrInvalid` types that were introduced
as part of [I/O safety] in a few functions in the Windows FFI bindings.

This factors out an `unsafe` block and two `unsafe` function calls in the
Windows implementation code.

And, it helps test `HandleOrNull` and `HandleOrInvalid`, which indeed turned
up a bug: `OwnedHandle` also needs to be `#[repr(transparent)]`, as it's
used inside of `HandleOrNull` and `HandleOrInvalid` which are also
`#[repr(transparent)]`.

[I/O safety]: https://github.com/rust-lang/rust/issues/87074

2 years agoRollup merge of #94563 - TaKO8Ki:remove-unnecessary-patten-for-ignoring-remaining...
Matthias Krüger [Thu, 3 Mar 2022 19:01:49 +0000 (20:01 +0100)]
Rollup merge of #94563 - TaKO8Ki:remove-unnecessary-patten-for-ignoring-remaining-parts, r=Dylan-DPC

Remove a unnecessary `..` pattern

2 years agoRollup merge of #94555 - cuishuang:master, r=oli-obk
Matthias Krüger [Thu, 3 Mar 2022 19:01:48 +0000 (20:01 +0100)]
Rollup merge of #94555 - cuishuang:master, r=oli-obk

all: fix some typos

Signed-off-by: cuishuang <imcusg@gmail.com>
2 years agoRollup merge of #94554 - Urgau:stmt-node-id-ice, r=petrochenkov
Matthias Krüger [Thu, 3 Mar 2022 19:01:48 +0000 (20:01 +0100)]
Rollup merge of #94554 - Urgau:stmt-node-id-ice, r=petrochenkov

Fix invalid lint_node_id being put on a removed stmt

This pull-request remove a invalid `assign_id!` being put on an stmt node.

The problem is that this node is being removed away by a cfg making it unreachable when triggering a buffered lint.
The comment in the other match arm already tell to not assign a id because it could have a `#[cfg()]` so this is just respecting the comment.

Fixes https://github.com/rust-lang/rust/issues/94523
r? ```````@petrochenkov```````

2 years agoRollup merge of #94551 - darnuria:doc-map-backstick, r=dtolnay
Matthias Krüger [Thu, 3 Mar 2022 19:01:47 +0000 (20:01 +0100)]
Rollup merge of #94551 - darnuria:doc-map-backstick, r=dtolnay

Doc: Fix use of quote instead of backstick in Adapter::map.

A little commit to fix documentation rendering and semantics in https://doc.rust-lang.org/std/iter/struct.Map.html#notes-about-side-effects `"` where used around an expression instead \`.

Screenshot on doc.rust-lang.org:
![2022-03-03 11-21-43_backstick](https://user-images.githubusercontent.com/2827553/156546536-569b7692-7ac4-4388-8e93-c1628ddc6a0f.png)

Looking forward: Maybe reworking the doc to use assert_eq like the upper paragraph:
```
let v: Vec<i32> = vec![1, 2, 3].into_iter().map(|x| x + 1).rev().collect();

assert_eq!(v, [4, 3, 2]);
```

2 years agoRollup merge of #94550 - GuillaumeGomez:HKF-macros, r=notriddle
Matthias Krüger [Thu, 3 Mar 2022 19:01:46 +0000 (20:01 +0100)]
Rollup merge of #94550 - GuillaumeGomez:HKF-macros, r=notriddle

rustdoc: Add test for higher kinded functions generated by macros

Fixes #75564.

The problem has been solved apparently so adding a test to prevent a regression.

r? ```@notriddle```

2 years agoRollup merge of #94547 - nnethercote:parse_tt-cleanups, r=petrochenkov
Matthias Krüger [Thu, 3 Mar 2022 19:01:45 +0000 (20:01 +0100)]
Rollup merge of #94547 - nnethercote:parse_tt-cleanups, r=petrochenkov

`parse_tt` cleanups

I've been looking closely at this code, and saw some opportunities to improve its readability.

r? ```````@petrochenkov```````

2 years agoRollup merge of #94057 - lcnr:simplify_type-uwu, r=nikomatsakis
Matthias Krüger [Thu, 3 Mar 2022 19:01:44 +0000 (20:01 +0100)]
Rollup merge of #94057 - lcnr:simplify_type-uwu, r=nikomatsakis

improve comments for `simplify_type`

Should now correctly describe what's going on. Experimented with checking the invariant for projections
but that ended up requiring fairly involved changes. I assume that it is not possible to get unsoundness here,
at least for now and I can pretty much guarantee that it's impossible to trigger it by accident.

r? `````@nikomatsakis````` cc #92721

2 years agoRollup merge of #92697 - the8472:cgroups, r=joshtriplett
Matthias Krüger [Thu, 3 Mar 2022 19:01:43 +0000 (20:01 +0100)]
Rollup merge of #92697 - the8472:cgroups, r=joshtriplett

Use cgroup quotas for calculating `available_parallelism`

Automated tests for this are possible but would require a bunch of assumptions. It requires root + a recent kernel, systemd and maybe docker. And even then it would need a helper binary since the test has to run in a separate process.

Limitations

* only supports cgroup v2 and assumes it's mounted under `/sys/fs/cgroup`
* procfs must be available
* the quota gets mixed into `sched_getaffinity`, so if the latter doesn't work then quota information gets ignored too

Manually tested via

```
// spawn a new cgroup scope for the current user
$ sudo systemd-run -p CPUQuota="300%" --uid=$(id -u) -tdS

// quota.rs
#![feature(available_parallelism)]
fn main() {
    println!("{:?}", std::thread::available_parallelism()); // prints Ok(3)
}
```

strace:

```
sched_getaffinity(3041643, 32, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47]) = 32
openat(AT_FDCWD, "/proc/self/cgroup", O_RDONLY|O_CLOEXEC) = 3
statx(0, NULL, AT_STATX_SYNC_AS_STAT, STATX_ALL, NULL) = -1 EFAULT (Bad address)
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0444, stx_size=0, ...}) = 0
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "0::/system.slice/run-u31477.serv"..., 128) = 36
read(3, "", 92)                         = 0
close(3)                                = 0
statx(AT_FDCWD, "/sys/fs/cgroup/system.slice/run-u31477.service/cgroup.controllers", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0444, stx_size=0, ...}) = 0
openat(AT_FDCWD, "/sys/fs/cgroup/system.slice/run-u31477.service/cpu.max", O_RDONLY|O_CLOEXEC) = 3
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=0, ...}) = 0
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "300000 100000\n", 20)          = 14
read(3, "", 6)                          = 0
close(3)                                = 0
openat(AT_FDCWD, "/sys/fs/cgroup/system.slice/cpu.max", O_RDONLY|O_CLOEXEC) = 3
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=0, ...}) = 0
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "max 100000\n", 20)             = 11
read(3, "", 9)                          = 0
close(3)                                = 0
openat(AT_FDCWD, "/sys/fs/cgroup/cpu.max", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
sched_getaffinity(0, 128, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47]) = 40
```

r? ```````@joshtriplett```````
cc ```````@yoshuawuyts```````

Tracking issue and previous discussion: #74479

2 years agoBless nll tests.
Camille GILLOT [Thu, 3 Mar 2022 18:59:52 +0000 (19:59 +0100)]
Bless nll tests.

2 years agoAuto merge of #87835 - xFrednet:rfc-2383-expect-attribute-with-ids, r=wesleywiser
bors [Thu, 3 Mar 2022 18:59:32 +0000 (18:59 +0000)]
Auto merge of #87835 - xFrednet:rfc-2383-expect-attribute-with-ids, r=wesleywiser

Implementation of the `expect` attribute (RFC 2383)

This is an implementation of the `expect` attribute as described in [RFC-2383](https://rust-lang.github.io/rfcs/2383-lint-reasons.html). The attribute allows the suppression of lint message by expecting them. Unfulfilled lint expectations (meaning no expected lint was caught) will emit the `unfulfilled_lint_expectations` lint at the `expect` attribute.

### Example
#### input
```rs
// required feature flag
#![feature(lint_reasons)]

#[expect(unused_mut)] // Will warn about an unfulfilled expectation
#[expect(unused_variables)] // Will be fulfilled by x
fn main() {
    let x = 0;
}
```

#### output

```txt
warning: this lint expectation is unfulfilled
  --> $DIR/trigger_lint.rs:3:1
   |
LL | #[expect(unused_mut)] // Will warn about an unfulfilled expectation
   |          ^^^^^^^^^^
   |
   = note: `#[warn(unfulfilled_lint_expectations)]` on by default
```

### Implementation

This implementation introduces `Expect` as a new lint level for diagnostics, which have been expected. All lint expectations marked via the `expect` attribute are collected in the [`LintLevelsBuilder`] and assigned an ID that is stored in the new lint level. The `LintLevelsBuilder` stores all found expectations and the data needed to emit the `unfulfilled_lint_expectations` in the [`LintLevelsMap`] which is the result of the [`lint_levels()`] query.

The [`rustc_errors::HandlerInner`] is the central error handler in rustc and handles the emission of all diagnostics. Lint message with the level `Expect` are suppressed during this emission, while the expectation ID is stored in a set which marks them as fulfilled. The last step is then so simply check if all expectations collected by the [`LintLevelsBuilder`] in the [`LintLevelsMap`] have been marked as fulfilled in the [`rustc_errors::HandlerInner`]. Otherwise, a new lint message will be emitted.

The implementation of the `LintExpectationId` required some special handling to make it stable between sessions. Lints can be emitted during [`EarlyLintPass`]es. At this stage, it's not possible to create a stable identifier. The level instead stores an unstable identifier, which is later converted to a stable `LintExpectationId`.

### Followup TO-DOs
All open TO-DOs have been marked with `FIXME` comments in the code. This is the combined list of them:

* [ ] The current implementation doesn't cover cases where the `unfulfilled_lint_expectations` lint is actually expected by another `expect` attribute.
   * This should be easily possible, but I wanted to get some feedback before putting more work into this.
   * This could also be done in a new PR to not add to much more code to this one
* [ ] Update unstable documentation to reflect this change.
* [ ] Update unstable expectation ids in [`HandlerInner::stashed_diagnostics`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.HandlerInner.html#structfield.stashed_diagnostics)

### Open questions
I also have a few open questions where I would like to get feedback on:
1. The RFC discussion included a suggestion to change the `expect` attribute to something else. (Initiated by `@Ixrec` [here](https://github.com/rust-lang/rfcs/pull/2383#issuecomment-378424091), suggestion from `@scottmcm` to use `#[should_lint(...)]` [here](https://github.com/rust-lang/rfcs/pull/2383#issuecomment-378648877)). No real conclusion was drawn on that point from my understanding. Is this still open for discussion, or was this discarded with the merge of the RFC?
2. How should the expect attribute deal with the new `force-warn` lint level?

---

This approach was inspired by a discussion with `@LeSeulArtichaut.`

RFC tracking issue: #54503

Mentoring/Implementation issue: #85549

[`LintLevelsBuilder`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/levels/struct.LintLevelsBuilder.html
[`LintLevelsMap`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/lint/struct.LintLevelMap.html
[`lint_levels()`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.lint_levels
[`rustc_errors::HandlerInner`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.HandlerInner.html
[`EarlyLintPass`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/trait.EarlyLintPass.html

2 years agoAdd autovectorization codegen test
Jubilee Young [Thu, 3 Mar 2022 07:02:03 +0000 (23:02 -0800)]
Add autovectorization codegen test

Co-authored-by: Scott McMurray <scottmcm@users.noreply.github.com>
2 years agoRedo the array-equality codegen tests for the different threshold
Scott McMurray [Fri, 10 Dec 2021 09:53:13 +0000 (01:53 -0800)]
Redo the array-equality codegen tests for the different threshold

2 years agoRevert #26494 regression
Vin Singh [Wed, 8 Dec 2021 12:01:13 +0000 (12:01 +0000)]
Revert #26494 regression

2 years agoMake `Ord`, `PartialOrd` opt-out in `newtype_index`
pierwill [Sat, 26 Feb 2022 20:44:09 +0000 (14:44 -0600)]
Make `Ord`, `PartialOrd` opt-out in `newtype_index`

Also remove `step` impl if `ORD_IMPL = off`

2 years agoMake unknown feature error deterministic.
Camille GILLOT [Mon, 21 Feb 2022 17:59:24 +0000 (18:59 +0100)]
Make unknown feature error deterministic.

2 years agoCleanup feature gates.
Camille GILLOT [Wed, 19 Jan 2022 15:24:49 +0000 (16:24 +0100)]
Cleanup feature gates.

2 years agoGate stability attrs with other attributes.
Camille GILLOT [Tue, 18 Jan 2022 19:37:14 +0000 (20:37 +0100)]
Gate stability attrs with other attributes.

2 years agobootstrap: correct reading of flags for llvm
Jon Gjengset [Tue, 1 Mar 2022 00:40:08 +0000 (16:40 -0800)]
bootstrap: correct reading of flags for llvm

First, this reverts the `CFLAGS`/`CXXFLAGS` of #93918. Those flags are
already read by `cc` and populated into `Build` earlier on in the
process. We shouldn't be overriding that based on `CFLAGS`, since `cc`
also respects overrides like `CFLAGS_{TARGET}` and `HOST_CFLAGS`, which
we want to take into account.

Second, this adds the same capability to specify target-specific
versions of `LDFLAGS` as we have through `cc` for the `C*` flags:
https://github.com/alexcrichton/cc-rs#external-configuration-via-environment-variables

Note that this also necessitated an update to compiletest to treat
CXXFLAGS separately from CFLAGS.

2 years agoRemove the everybody loops pass
bjorn3 [Fri, 25 Jun 2021 09:56:14 +0000 (11:56 +0200)]
Remove the everybody loops pass

It isn't used anymore by rustdoc

2 years agoBless test.
Camille GILLOT [Sun, 16 Jan 2022 18:50:46 +0000 (19:50 +0100)]
Bless test.

2 years agoForce ensure stability_index.
Camille GILLOT [Sun, 16 Jan 2022 18:36:22 +0000 (19:36 +0100)]
Force ensure stability_index.

2 years agoMove query providers.
Camille GILLOT [Sun, 16 Jan 2022 21:26:46 +0000 (22:26 +0100)]
Move query providers.

2 years agoRemove useless map.
Camille GILLOT [Sun, 16 Jan 2022 15:30:33 +0000 (16:30 +0100)]
Remove useless map.

2 years agoMove the set of features to the `features` query.
Camille GILLOT [Sun, 16 Jan 2022 15:25:47 +0000 (16:25 +0100)]
Move the set of features to the `features` query.

2 years agoremove a unnecessary `..` pattern
Takayuki Maeda [Thu, 3 Mar 2022 15:57:38 +0000 (00:57 +0900)]
remove a unnecessary `..` pattern

2 years agoAuto merge of #84944 - lcnr:obligation-dedup, r=jackh726
bors [Thu, 3 Mar 2022 15:43:42 +0000 (15:43 +0000)]
Auto merge of #84944 - lcnr:obligation-dedup, r=jackh726

remove obligation dedup from `impl_or_trait_obligations`

Looking at the examples from #38528 they all seem to compile fine even without this and it seems like this might be unnecessary effort

2 years agoAuto merge of #94512 - RalfJung:sdiv-ub, r=oli-obk
bors [Thu, 3 Mar 2022 12:56:24 +0000 (12:56 +0000)]
Auto merge of #94512 - RalfJung:sdiv-ub, r=oli-obk

Miri/CTFE: properly treat overflow in (signed) division/rem as UB

To my surprise, it looks like LLVM treats overflow of signed div/rem as UB. From what I can tell, MIR `Div`/`Rem` directly lowers to the corresponding LLVM operation, so to make that correct we also have to consider these overflows UB in the CTFE/Miri interpreter engine.

r? `@oli-obk`

2 years agoall: fix some typos
cuishuang [Thu, 3 Mar 2022 11:47:23 +0000 (19:47 +0800)]
all: fix some typos

Signed-off-by: cuishuang <imcusg@gmail.com>
2 years agoFix invalid lint_node_id being put on a removed stmt
Loïc BRANSTETT [Thu, 3 Mar 2022 10:52:09 +0000 (11:52 +0100)]
Fix invalid lint_node_id being put on a removed stmt

2 years agoChange `initial_matcher_pos()` into `MatcherPos::new()`.
Nicholas Nethercote [Thu, 3 Mar 2022 01:14:27 +0000 (12:14 +1100)]
Change `initial_matcher_pos()` into `MatcherPos::new()`.

2 years agoUse a better return type for `inner_parse_loop`.
Nicholas Nethercote [Thu, 3 Mar 2022 00:10:21 +0000 (11:10 +1100)]
Use a better return type for `inner_parse_loop`.

Because `inner_parse_loop` has only one way to not succeed, not three.

2 years agoIntroduce `MatcherPosRepetition`.
Nicholas Nethercote [Thu, 3 Mar 2022 00:04:04 +0000 (11:04 +1100)]
Introduce `MatcherPosRepetition`.

There are three `Option` fields in `MatcherPos` that are only used in
tandem. This commit combines them, making the code slightly easier to
read. (It also makes clear that the `sep` field arguably should have
been `Option<Option<Token>>`!)

2 years agoAdd a static size assertion for `MatcherPos`.
Nicholas Nethercote [Thu, 3 Mar 2022 00:02:43 +0000 (11:02 +1100)]
Add a static size assertion for `MatcherPos`.

2 years agoImprove if/else formatting in macro_parser.rs.
Nicholas Nethercote [Thu, 3 Mar 2022 00:00:50 +0000 (11:00 +1100)]
Improve if/else formatting in macro_parser.rs.

To avoid the strange style where comments force `else` onto its own
line.

The commit also removes several else-after-return constructs, which can
be hard to read.

2 years agoAdd test for higher kinded functions generated by macros
Guillaume Gomez [Thu, 3 Mar 2022 10:32:07 +0000 (11:32 +0100)]
Add test for higher kinded functions generated by macros

2 years agoDoc: Fix use of quote instead of backstick in Adapter::map.
Axel Viala [Thu, 3 Mar 2022 10:25:01 +0000 (11:25 +0100)]
Doc: Fix use of quote instead of backstick in Adapter::map.

2 years agoAuto merge of #94548 - matthiaskrgr:rollup-spa38z8, r=matthiaskrgr
bors [Thu, 3 Mar 2022 10:14:04 +0000 (10:14 +0000)]
Auto merge of #94548 - matthiaskrgr:rollup-spa38z8, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #93562 (Update the documentation for `{As,Into,From}Raw{Fd,Handle,Socket}`.)
 - #94101 (rustdoc: add test cases for hidden enum variants)
 - #94484 (8 - Make more use of `let_chains`)
 - #94522 (Remove out-of-context line at end of E0284 message)
 - #94534 (Re-export (unstable) core::ffi types from std::ffi)
 - #94536 (Move transmute_undefined_repr back to nursery again)
 - #94537 (Use ? operator in one instance instead of manual match)
 - #94544 (Add some examples to comments in mbe code)

Failed merges:

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

2 years agoRollup merge of #94544 - mark-i-m:macro-comments, r=petrochenkov
Matthias Krüger [Thu, 3 Mar 2022 10:02:56 +0000 (11:02 +0100)]
Rollup merge of #94544 - mark-i-m:macro-comments, r=petrochenkov

Add some examples to comments in mbe code

I found these things non-obvious when re-familiarizing myself with the code.

r? `@petrochenkov`

2 years agoRollup merge of #94537 - est31:master, r=notriddle
Matthias Krüger [Thu, 3 Mar 2022 10:02:55 +0000 (11:02 +0100)]
Rollup merge of #94537 - est31:master, r=notriddle

Use ? operator in one instance instead of manual match

As suggested [here](https://github.com/rust-lang/rust/pull/94139#discussion_r818102403).

r? `@notriddle`

2 years agoRollup merge of #94536 - dtolnay:transmute, r=Manishearth
Matthias Krüger [Thu, 3 Mar 2022 10:02:54 +0000 (11:02 +0100)]
Rollup merge of #94536 - dtolnay:transmute, r=Manishearth

Move transmute_undefined_repr back to nursery again

This PR reapplies #94014, which was reverted unintentionally I think by #94329. The combination of https://github.com/rust-lang/rust-clippy/pull/8432 + https://github.com/rust-lang/rust-clippy/pull/8497 in clippy should prevent this from happening again.

r? `@Manishearth`

2 years agoRollup merge of #94534 - bstrie:cffistd, r=Mark-Simulacrum
Matthias Krüger [Thu, 3 Mar 2022 10:02:53 +0000 (11:02 +0100)]
Rollup merge of #94534 - bstrie:cffistd, r=Mark-Simulacrum

Re-export (unstable) core::ffi types from std::ffi

2 years agoRollup merge of #94522 - thinety:fix-e0284-message, r=Dylan-DPC
Matthias Krüger [Thu, 3 Mar 2022 10:02:52 +0000 (11:02 +0100)]
Rollup merge of #94522 - thinety:fix-e0284-message, r=Dylan-DPC

Remove out-of-context line at end of E0284 message

Removed the last line of E0284 message because it was out of context (probably kept by accident when changing whole error message).

2 years agoRollup merge of #94484 - c410-f3r:more-let-chains, r=jackh726
Matthias Krüger [Thu, 3 Mar 2022 10:02:51 +0000 (11:02 +0100)]
Rollup merge of #94484 - c410-f3r:more-let-chains, r=jackh726

8 - Make more use of `let_chains`

Continuation of #94376.

cc #53667

2 years agoRollup merge of #94101 - notriddle:notriddle/strip-test-cases, r=GuillaumeGomez
Matthias Krüger [Thu, 3 Mar 2022 10:02:50 +0000 (11:02 +0100)]
Rollup merge of #94101 - notriddle:notriddle/strip-test-cases, r=GuillaumeGomez

rustdoc: add test cases for hidden enum variants

2 years agoRollup merge of #93562 - sunfishcode:sunfishcode/io-docs, r=joshtriplett
Matthias Krüger [Thu, 3 Mar 2022 10:02:49 +0000 (11:02 +0100)]
Rollup merge of #93562 - sunfishcode:sunfishcode/io-docs, r=joshtriplett

Update the documentation for `{As,Into,From}Raw{Fd,Handle,Socket}`.

This change weakens the descriptions of the
`{as,into,from}_raw_{fd,handle,socket}` descriptions from saying that
they *do* express ownership relations to say that they are *typically used*
in ways that express ownership relations. This is needed since, for
example, std's own [`RawFd`] implements `{As,From,Into}Fd` without any of
the ownership relationships.

This adds proper `# Safety` comments to `from_raw_{fd,handle,socket}`,
adds the requirement that raw handles be not opened with the
`FILE_FLAG_OVERLAPPED` flag, and merges the `OwnedHandle::from_raw_handle`
comment into the main `FromRawHandle::from_raw_handle` comment.

And, this changes `HandleOrNull` and `HandleOrInvalid` to not implement
`FromRawHandle`, since they are intended for limited use in FFI situations,
and not for generic use, and they have constraints that are stronger than
the those of `FromRawHandle`.

[`RawFd`]: https://doc.rust-lang.org/stable/std/os/unix/io/type.RawFd.html

2 years agoAuto merge of #94541 - Dylan-DPC:rollup-564wbq3, r=Dylan-DPC
bors [Thu, 3 Mar 2022 04:28:08 +0000 (04:28 +0000)]
Auto merge of #94541 - Dylan-DPC:rollup-564wbq3, r=Dylan-DPC

Rollup of 9 pull requests

Successful merges:

 - #92061 (update char signess for openbsd)
 - #93072 (Compatible variants suggestion with desugaring)
 - #93354 (Add documentation about `BorrowedFd::to_owned`.)
 - #93663 (Rename `BorrowedFd::borrow_raw_fd` to `BorrowedFd::borrow_raw`.)
 - #94375 (Adt copy suggestions)
 - #94433 (Improve allowness of the unexpected_cfgs lint)
 - #94499 (Documentation was missed when demoting Windows XP to no_std only)
 - #94505 (Restore the local filter on mono item sorting)
 - #94529 (Unused doc comments blocks)

Failed merges:

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

2 years agomake test work on noopt builder
Erik Desjardins [Thu, 3 Mar 2022 03:46:23 +0000 (22:46 -0500)]
make test work on noopt builder

2 years agoadd some examples to comments in mbe code
mark [Thu, 3 Mar 2022 03:33:43 +0000 (21:33 -0600)]
add some examples to comments in mbe code

2 years agoRemove the comment about `FILE_FLAG_OVERLAPPED`.
Dan Gohman [Thu, 3 Mar 2022 00:25:31 +0000 (16:25 -0800)]
Remove the comment about `FILE_FLAG_OVERLAPPED`.

There may eventually be something to say about `FILE_FLAG_OVERLAPPED` here,
however this appears to be independent of the other changes in this PR,
so remove them from this PR so that it can be discussed separately.

2 years agobless clippy
Ralf Jung [Thu, 3 Mar 2022 00:20:27 +0000 (19:20 -0500)]
bless clippy

2 years agoRollup merge of #94529 - GuillaumeGomez:unused-doc-comments-blocks, r=estebank
Dylan DPC [Thu, 3 Mar 2022 00:09:15 +0000 (01:09 +0100)]
Rollup merge of #94529 - GuillaumeGomez:unused-doc-comments-blocks, r=estebank

Unused doc comments blocks

Fixes #77030.

2 years agoRollup merge of #94505 - cuviper:mono-item-sort-local, r=michaelwoerister,davidtwco
Dylan DPC [Thu, 3 Mar 2022 00:09:14 +0000 (01:09 +0100)]
Rollup merge of #94505 - cuviper:mono-item-sort-local, r=michaelwoerister,davidtwco

Restore the local filter on mono item sorting

In `CodegenUnit::items_in_deterministic_order`, there's a comment that
only local HirIds should be taken into account, but #90408 removed the
`as_local` call that sets others to None. Restoring that check fixes the
s390x hangs seen in [RHBZ 2058803].

[RHBZ 2058803]: https://bugzilla.redhat.com/show_bug.cgi?id=2058803

2 years agoRollup merge of #94499 - RandomInsano:patch-1, r=Dylan-DPC
Dylan DPC [Thu, 3 Mar 2022 00:09:13 +0000 (01:09 +0100)]
Rollup merge of #94499 - RandomInsano:patch-1, r=Dylan-DPC

Documentation was missed when demoting Windows XP to no_std only

After a quick discussion on #81250 which removed special casing for mutexes added [here](https://github.com/rust-lang/rust/commit/10b103af48368c5df644fa61dc417a36083922c8) to support Windows XP, we can't say that the standard library can build for it.

This change modifies the tier 3 non-ARM targets to show the standard library will no longer build for these and there is no work being done to change that.

2 years agoRollup merge of #94433 - Urgau:check-cfg-allowness, r=petrochenkov
Dylan DPC [Thu, 3 Mar 2022 00:09:12 +0000 (01:09 +0100)]
Rollup merge of #94433 - Urgau:check-cfg-allowness, r=petrochenkov

Improve allowness of the unexpected_cfgs lint

This pull-request improve the allowness (`#[allow(...)]`) of the `unexpected_cfgs` lint.

Before this PR only crate level `#![allow(unexpected_cfgs)]` worked, now with this PR it also work when put around `cfg!` or if it is in a upper level. Making it work ~for the attributes `cfg`, `cfg_attr`, ...~ for the same level is awkward as the current code is design to give "Some parent node that is close to this macro call" (cf. https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/struct.ExpansionData.html) meaning that allow on the same line as an attribute won't work. I'm note even sure if this would be possible.

Found while working on https://github.com/rust-lang/rust/pull/94298.
r? ````````@petrochenkov````````

2 years agoRollup merge of #94375 - WaffleLapkin:copy-suggestion, r=estebank
Dylan DPC [Thu, 3 Mar 2022 00:09:11 +0000 (01:09 +0100)]
Rollup merge of #94375 - WaffleLapkin:copy-suggestion, r=estebank

Adt copy suggestions

Previously we've only suggested adding `Copy` bounds when the type being moved/copied is a type parameter (generic). With this PR we also suggest adding bounds when a type
- Can be copy
- All predicates that need to be satisfied for that are based on type params

i.e. we will suggest `T: Copy` for `Option<T>`, but won't suggest anything for `Option<String>`.

An example:
```rust
fn duplicate<T>(t: Option<T>) -> (Option<T>, Option<T>) {
    (t, t)
}
```
New error (current compiler doesn't provide `help`:):
```text
error[E0382]: use of moved value: `t`
 --> t.rs:2:9
  |
1 | fn duplicate<T>(t: Option<T>) -> (Option<T>, Option<T>) {
  |                 - move occurs because `t` has type `Option<T>`, which does not implement the `Copy` trait
2 |     (t, t)
  |      -  ^ value used here after move
  |      |
  |      value moved here
  |
help: consider restricting type parameter `T`
  |
1 | fn duplicate<T: Copy>(t: Option<T>) -> (Option<T>, Option<T>) {
  |               ++++++
```

Fixes #93623
r? ``````````@estebank``````````
``````````@rustbot`````````` label +A-diagnostics +A-suggestion-diagnostics +C-enhancement

----

I'm not at all sure if this is the right implementation for this kind of suggestion, but it seems to work :')

2 years agoRollup merge of #93663 - sunfishcode:sunfishcode/as-raw-name, r=joshtriplett
Dylan DPC [Thu, 3 Mar 2022 00:09:10 +0000 (01:09 +0100)]
Rollup merge of #93663 - sunfishcode:sunfishcode/as-raw-name, r=joshtriplett

Rename `BorrowedFd::borrow_raw_fd` to `BorrowedFd::borrow_raw`.

Also, rename `BorrowedHandle::borrow_raw_handle` and
`BorrowedSocket::borrow_raw_socket` to `BorrowedHandle::borrow_raw` and
`BorrowedSocket::borrow_raw`.

This is just a minor rename to reduce redundancy in the user code calling
these functions, and to eliminate an inessential difference between
`BorrowedFd` code and `BorrowedHandle`/`BorrowedSocket` code.

While here, add a simple test exercising `BorrowedFd::borrow_raw_fd`.

r? ``````@joshtriplett``````

2 years agoRollup merge of #93354 - sunfishcode:sunfishcode/document-borrowedfd-toowned, r=josht...
Dylan DPC [Thu, 3 Mar 2022 00:09:09 +0000 (01:09 +0100)]
Rollup merge of #93354 - sunfishcode:sunfishcode/document-borrowedfd-toowned, r=joshtriplett

Add documentation about `BorrowedFd::to_owned`.

Following up on #88564, this adds documentation explaining why
`BorrowedFd::to_owned` returns another `BorrowedFd` rather than an
`OwnedFd`. And similar for `BorrowedHandle` and `BorrowedSocket`.

r? `````@joshtriplett`````

2 years agoRollup merge of #93072 - m-ou-se:compatible-variants-suggestion-with-desugaring,...
Dylan DPC [Thu, 3 Mar 2022 00:09:08 +0000 (01:09 +0100)]
Rollup merge of #93072 - m-ou-se:compatible-variants-suggestion-with-desugaring, r=estebank

Compatible variants suggestion with desugaring

This fixes #90553 for `for` loops and other desugarings.

r? ```@estebank```

2 years agoRollup merge of #92061 - semarie:openbsd-archs, r=joshtriplett
Dylan DPC [Thu, 3 Mar 2022 00:09:07 +0000 (01:09 +0100)]
Rollup merge of #92061 - semarie:openbsd-archs, r=joshtriplett

update char signess for openbsd

it adds more archs support for openbsd: arm, mips64, powerpc, powerpc64, and riscv64.

2 years agoupdate available_parallelism docs since cgroups and sched_getaffinity are now taken...
The 8472 [Wed, 2 Mar 2022 23:36:23 +0000 (00:36 +0100)]
update available_parallelism docs since cgroups and sched_getaffinity are now taken into account

2 years agohardcode /sys/fs/cgroup instead of doing a lookup via mountinfo
The 8472 [Wed, 2 Mar 2022 23:35:47 +0000 (00:35 +0100)]
hardcode /sys/fs/cgroup instead of doing a lookup via mountinfo

this avoids parsing mountinfo which can be huge on some systems and
something might be emulating cgroup fs for sandboxing reasons which means
it wouldn't show up as mountpoint

additionally the new implementation operates on a single pathbuffer, reducing allocations

2 years agoUse cgroup quotas for calculating `available_parallelism`
The 8472 [Sun, 9 Jan 2022 18:39:02 +0000 (19:39 +0100)]
Use cgroup quotas for calculating `available_parallelism`

Manually tested via

```
// spawn a new cgroup scope for the current user
$ sudo systemd-run -p CPUQuota="300%" --uid=$(id -u) -tdS

// quota.rs
#![feature(available_parallelism)]
fn main() {
    println!("{:?}", std::thread::available_parallelism()); // prints Ok(3)
}
```

Caveats

* cgroup v1 is ignored
* funky mountpoints (containing spaces, newlines or control chars) for cgroupfs will not be handled correctly since that would require unescaping /proc/self/mountinfo
  The escaping behavior of procfs seems to be undocumented. systemd and docker default to `/sys/fs/cgroup` so it should be fine for most systems.
* quota will be ignored when `sched_getaffinity` doesn't work
* assumes procfs is mounted under `/proc` and cgroupfs mounted and readable somewhere in the directory tree

2 years agoPass LLVM string attributes as string slices
Tomasz Miąsko [Thu, 3 Mar 2022 00:00:00 +0000 (00:00 +0000)]
Pass LLVM string attributes as string slices

2 years agofix tests on platforms where Align16 is represented as i128
Erik Desjardins [Wed, 2 Mar 2022 22:30:58 +0000 (17:30 -0500)]
fix tests on platforms where Align16 is represented as i128

2 years agoUse ? operator in one instance instead of manual match
est31 [Wed, 2 Mar 2022 21:10:35 +0000 (22:10 +0100)]
Use ? operator in one instance instead of manual match

2 years agoMove transmute_undefined_repr back to nursery
flip1995 [Tue, 15 Feb 2022 09:54:38 +0000 (10:54 +0100)]
Move transmute_undefined_repr back to nursery

There's still open discussion if this lint is ready to be enabled by
default. We want to give us more time to figure this out and prevent
this lint from getting to stable as an enabled-by-default lint.

2 years agoFix a broken doc link on Windows.
Dan Gohman [Wed, 2 Mar 2022 20:39:36 +0000 (12:39 -0800)]
Fix a broken doc link on Windows.

2 years agoAuto merge of #92214 - ehuss:submodule-bg-exit, r=Mark-Simulacrum
bors [Wed, 2 Mar 2022 19:50:55 +0000 (19:50 +0000)]
Auto merge of #92214 - ehuss:submodule-bg-exit, r=Mark-Simulacrum

Error if submodule fetch fails.

In CI, if fetching a submodule fails, the script would exit successfully. Later parts of the build will fail due to the missing files, but it is a bit confusing, and I think it would be better to error out earlier.

The reason is that in bash, `wait` without arguments will exit 0 even if a background job exits with an error. The solution here is to wait on each individual job, which will return the exit code of the job.

This was encountered in #92177.

2 years agoUpdate stdarch submodule
Guillaume Gomez [Wed, 2 Mar 2022 18:50:08 +0000 (19:50 +0100)]
Update stdarch submodule

2 years agoUpdate unused_doc_comments ui test
Guillaume Gomez [Wed, 2 Mar 2022 16:58:49 +0000 (17:58 +0100)]
Update unused_doc_comments ui test

2 years agoFix unused_doc_comments lint errors
Guillaume Gomez [Wed, 2 Mar 2022 16:58:33 +0000 (17:58 +0100)]
Fix unused_doc_comments lint errors

2 years ago8 - Make more use of `let_chains`
Caio [Wed, 2 Mar 2022 19:02:37 +0000 (16:02 -0300)]
8 - Make more use of `let_chains`

2 years agoRe-export core::ffi types from std::ffi
bstrie [Wed, 2 Mar 2022 18:52:31 +0000 (13:52 -0500)]
Re-export core::ffi types from std::ffi

2 years agoUpdate test output.
Mara Bos [Wed, 2 Mar 2022 18:30:25 +0000 (19:30 +0100)]
Update test output.

2 years agoAdd more tests for mismatched Option/Result return types.
Mara Bos [Wed, 19 Jan 2022 12:11:48 +0000 (13:11 +0100)]
Add more tests for mismatched Option/Result return types.