]> git.lizzy.rs Git - rust.git/log
rust.git
21 months agoAuto merge of #101560 - Dylan-DPC:rollup-8m8yr89, r=Dylan-DPC
bors [Thu, 8 Sep 2022 08:00:57 +0000 (08:00 +0000)]
Auto merge of #101560 - Dylan-DPC:rollup-8m8yr89, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #101153 (Migrate another part of rustc_infer to session diagnostic)
 - #101399 (Shrink span for bindings with subpatterns.)
 - #101422 (Hermit: Add File::set_time stub)
 - #101455 (Avoid UB in the Windows filesystem code in... bootstrap?)
 - #101498 (rustc: Parameterize `ty::Visibility` over used ID)
 - #101549 (Use HashStable_Generic in rustc_type_ir)

Failed merges:

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

21 months agofixes #101477: Recover from typo where == is used in place of =
yukang [Wed, 7 Sep 2022 04:26:50 +0000 (12:26 +0800)]
fixes #101477: Recover from typo where == is used in place of =

21 months agotranslations(rustc_session): remove lint allow rule to the methods marked with rustc_...
Luis Cardoso [Mon, 5 Sep 2022 05:58:05 +0000 (07:58 +0200)]
translations(rustc_session): remove lint allow rule to the methods marked with rustc_lint_diagnostic

This commit removes the allows rules for the SessionDiagnostic lint
that were being used in the session.rs file.

Thanks to the PR #101230 we do not need to annotate the methods with
the allow rule as they are part of the diagnostic machinery.

21 months agotranslations(rustc_session): migrate TargetDataLayout::parse
Luis Cardoso [Fri, 2 Sep 2022 17:29:52 +0000 (19:29 +0200)]
translations(rustc_session): migrate TargetDataLayout::parse

21 months agotranslations(rustc_session): migrates session.rs and config.rs
Luis Cardoso [Fri, 26 Aug 2022 14:06:27 +0000 (16:06 +0200)]
translations(rustc_session): migrates session.rs and config.rs

21 months agoRollup merge of #101549 - eholk:type-ir-derive-hashstable_generic, r=jackh726
Dylan DPC [Thu, 8 Sep 2022 06:25:10 +0000 (11:55 +0530)]
Rollup merge of #101549 - eholk:type-ir-derive-hashstable_generic, r=jackh726

Use HashStable_Generic in rustc_type_ir

A lot of the types in this crate implemented HashStable directly to avoid circular dependencies. One way around that is to use HashStable_Generic. We adopt that here to avoid a lot of boilerplate.

This doesn't update all the types, because some would require `I: Interner + HashStable`.

r? `@cjgillot`

21 months agoRollup merge of #101498 - petrochenkov:visparam, r=cjgillot
Dylan DPC [Thu, 8 Sep 2022 06:25:09 +0000 (11:55 +0530)]
Rollup merge of #101498 - petrochenkov:visparam, r=cjgillot

rustc: Parameterize `ty::Visibility` over used ID

It allows using `LocalDefId` instead of `DefId` when possible, and also encode cheaper `Visibility<DefIndex>` into metadata.

21 months agoRollup merge of #101455 - thomcc:why-is-this-here, r=jyn514
Dylan DPC [Thu, 8 Sep 2022 06:25:08 +0000 (11:55 +0530)]
Rollup merge of #101455 - thomcc:why-is-this-here, r=jyn514

Avoid UB in the Windows filesystem code in... bootstrap?

This basically a subset of the changes from https://github.com/rust-lang/rust/pull/101171. I didn't think to look in src/bootstrap for more windows filesystem API usage, which was apparently a mistake on my part. It's kinda goofy that stuff like this is in here, but what are you gonna do, computers are awful.

I also added `winbase` to the `winapi` dep -- I tested this in a tmp crate but needed to add this to your Cargo.toml -- you `use winapi::stuff::winbase` in this function, but are relying on something else turning on that feature.

21 months agoRollup merge of #101422 - mkroening:hermit-file-time, r=joshtriplett
Dylan DPC [Thu, 8 Sep 2022 06:25:07 +0000 (11:55 +0530)]
Rollup merge of #101422 - mkroening:hermit-file-time, r=joshtriplett

Hermit: Add File::set_time stub

This is not supported on hermit yet. This change is required for compiling std.

21 months agoRollup merge of #101399 - cjgillot:borrowck-binding-span, r=estebank
Dylan DPC [Thu, 8 Sep 2022 06:25:06 +0000 (11:55 +0530)]
Rollup merge of #101399 - cjgillot:borrowck-binding-span, r=estebank

Shrink span for bindings with subpatterns.

Bindings with nested patterns (`binding @ pat` syntax) currently point to the full pattern.  This PR proposes to shrink the span to stop before the ````@`.```  This makes the diagnostics for move/mutability conflicts clearer, as they not point to the `binding` only, instead of the full pat.

r? ```@estebank```

21 months agoRollup merge of #101153 - IntQuant:issue-100717-infer-2, r=davidtwco
Dylan DPC [Thu, 8 Sep 2022 06:25:06 +0000 (11:55 +0530)]
Rollup merge of #101153 - IntQuant:issue-100717-infer-2, r=davidtwco

Migrate another part of rustc_infer to session diagnostic

Probably will migrate another file before marking this one as ready-to-merge.

`@rustbot` label +A-translation
r? rust-lang/diagnostics
cc https://github.com/rust-lang/rust/issues/100717

21 months agoIntroduce `DotDotPos`.
Nicholas Nethercote [Thu, 1 Sep 2022 03:29:57 +0000 (13:29 +1000)]
Introduce `DotDotPos`.

This shrinks `hir::Pat` from 88 to 72 bytes.

21 months agoArena-allocate `hir::Lifetime`.
Nicholas Nethercote [Thu, 1 Sep 2022 02:06:48 +0000 (12:06 +1000)]
Arena-allocate `hir::Lifetime`.

This shrinks `hir::Ty` from 72 to 48 bytes.

`visit_lifetime` is added to the HIR stats collector because these types
are now stored in memory on their own, instead of being within other
types.

21 months agoAuto merge of #101504 - lqd:rust-lld-fix, r=petrochenkov
bors [Thu, 8 Sep 2022 05:02:32 +0000 (05:02 +0000)]
Auto merge of #101504 - lqd:rust-lld-fix, r=petrochenkov

Fix `-Zgcc-ld=lld`

`-Zgcc-ld=lld` is currently broken. CI is currently ignoring its tests.

cc `@Mark-Simulacrum` on the `compiletest` change: I'm not sure which of `bootstrap`'s test step or `compiletest` is currently incorrect wrt windows' `--compile-lib-path`. Since `sysroot/bin` is passed on windows, that means that `compiletest` can't find `rust-lld` on windows and tests are currently ignored: it's looking for something that is in `sysroot/lib` instead.

They are currently ignored on unixes for a different reason: the lld wrapper has a different name than what is checked.

(I've changed `compiletest` in this PR, just because I could make a very targeted change there, whereas completely changing the intentional lib path that is passed seemed it'd have wider reaching implications on all tests.)

And in both unix/win cases, I've changed the detection to look for `rust-lld` rather than the wrappers in `bin/gcc-ld/`. It seems like the more stable of all these executable names.

r? `@petrochenkov`

I've tested the `lld-wrapper` change on linux and osx, but couldn't test on windows gnu targets (I only have MSVC targets, and these can't use `rust-lld` via `-Zgcc-ld=lld`, nor do they use the lld wrapper IIUC).

I'd expect it to work whether or not the wrapper is called with or without an executable suffix. But at least now CI should test it in these targets.

Fixes #101370.

21 months agoWe can print futures with {integer} too
Michael Goulet [Thu, 8 Sep 2022 02:42:00 +0000 (02:42 +0000)]
We can print futures with {integer} too

21 months agoGenerator return doesn't need to be a lang item
Michael Goulet [Thu, 8 Sep 2022 02:34:22 +0000 (02:34 +0000)]
Generator return doesn't need to be a lang item

21 months agoAuto merge of #101303 - jyn514:jnelson/handle-cycle-enum, r=cjgillot
bors [Thu, 8 Sep 2022 02:21:16 +0000 (02:21 +0000)]
Auto merge of #101303 - jyn514:jnelson/handle-cycle-enum, r=cjgillot

Make `HandleCycleError` an enum instead of a macro-generated closure

Helps with https://github.com/rust-lang/rust/issues/96524. Based on https://github.com/rust-lang/rust/pull/100943 to avoid merge conflicts, so it looks larger than it is (only the last commit is relevant).

cc https://rust-lang.zulipchat.com/#narrow/stream/241847-t-compiler.2Fwg-incr-comp/topic/Moving.20.60Value.60.20to.20rustc_query_system.20.2396524

r? `@cjgillot`

21 months agoAdjust spacing in suggestion, add a test
Michael Goulet [Sun, 4 Sep 2022 22:38:12 +0000 (22:38 +0000)]
Adjust spacing in suggestion, add a test

21 months agoAdd associated item binding to non-param-ty where clause suggestions
Michael Goulet [Sun, 4 Sep 2022 22:21:15 +0000 (22:21 +0000)]
Add associated item binding to non-param-ty where clause suggestions

21 months agoRemove TypeParamVisitor
Michael Goulet [Sun, 4 Sep 2022 21:55:38 +0000 (21:55 +0000)]
Remove TypeParamVisitor

21 months agoSimplify printing operator lang item paths in error message
Michael Goulet [Sun, 4 Sep 2022 21:35:13 +0000 (21:35 +0000)]
Simplify printing operator lang item paths in error message

21 months agoAvoid source-map call in operator error
Michael Goulet [Sun, 4 Sep 2022 21:11:50 +0000 (21:11 +0000)]
Avoid source-map call in operator error

21 months agorustdoc: remove unused CSS `#implementations-list > h3 > span.in-band`
Michael Howell [Thu, 8 Sep 2022 00:51:18 +0000 (17:51 -0700)]
rustdoc: remove unused CSS `#implementations-list > h3 > span.in-band`

This was added in 51f26acaea46afd630fbab4ca441748802d20670 to help with the
display of an `<h3>` tag that has a `<span class='in-band'>` inside.

The way implementation lists were rendered was changed in
34bd2b845b3acd84c5a9bddae3ff8081c19ec5e9 to have `<code class='in-band'>`,
making this CSS unused.

Then it was turned into a `<div>` in 9077d540da944c41678a7129e04e7fc5d7e38582
without issue.

Finally, the header itself acquired the `in-band` class in
76a3b609d0b93c5d8da5e4e3db37bd03e5cb1c30.

21 months agoAuto merge of #94075 - mikebenfield:wip-enum, r=oli-obk
bors [Wed, 7 Sep 2022 23:40:06 +0000 (23:40 +0000)]
Auto merge of #94075 - mikebenfield:wip-enum, r=oli-obk

Use niche-filling optimization even when multiple variants have data.

Fixes #46213

21 months agoUse HashStable_Generic in rustc_type_ir
Eric Holk [Wed, 7 Sep 2022 21:46:04 +0000 (14:46 -0700)]
Use HashStable_Generic in rustc_type_ir

A lot of the types in this crate implemented HashStable directly to
avoid circular dependencies. One way around that is to use
HashStable_Generic. We adopt that here to avoid a lot of boilerplate.

This doesn't update all the types, because some would require
`I: Interner + HashStable`.

21 months agoAuto merge of #101544 - matthiaskrgr:rollup-4urx917, r=matthiaskrgr
bors [Wed, 7 Sep 2022 21:17:30 +0000 (21:17 +0000)]
Auto merge of #101544 - matthiaskrgr:rollup-4urx917, r=matthiaskrgr

Rollup of 14 pull requests

Successful merges:

 - #101343 (Add -api-level to pm command)
 - #101416 (stdio: Document no support for writing to non-blocking stdio/stderr)
 - #101435 (Remove unnecessary `EMIT_MIR_FOR_EACH_BITWIDTH`)
 - #101493 (Pass ImplTraitContext as &mut to avoid the need of ImplTraitContext::reborrow)
 - #101502 (Do not suggest a semicolon for a macro without `!`)
 - #101503 (Add debug calls)
 - #101506 (rustdoc: remove unused CSS `#main-content > .since`)
 - #101507 (rustdoc: remove unused CSS `#main-content > table td`)
 - #101521 (Rustdoc-Json: More accurate struct type.)
 - #101525 (Fix typo in pass_manager.rs)
 - #101534 (rustdoc: remove unused mobile CSS `.rustdoc { flex-direction }`)
 - #101535 (Fix error printing mistake in tidy)
 - #101536 (Add documentation for Attr::is_doc_comment)
 - #101538 (rustdoc: remove unused CSS `.content .methods > div`)

Failed merges:

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

21 months agoremove unnecessary `PartialOrd` and `Ord`
Takayuki Maeda [Wed, 7 Sep 2022 21:15:33 +0000 (06:15 +0900)]
remove unnecessary `PartialOrd` and `Ord`

21 months agoAllow lower_lifetime_binder receive a closure
Santiago Pastorino [Thu, 18 Aug 2022 17:26:59 +0000 (14:26 -0300)]
Allow lower_lifetime_binder receive a closure

21 months agoUse niche-filling optimization even when multiple variants have data.
Michael Benfield [Tue, 8 Mar 2022 19:07:01 +0000 (19:07 +0000)]
Use niche-filling optimization even when multiple variants have data.

Fixes #46213

21 months agoChange name of "dataful" variant to "untagged"
Michael Benfield [Thu, 25 Aug 2022 01:14:23 +0000 (01:14 +0000)]
Change name of "dataful" variant to "untagged"

This is in anticipation of a new enum layout, in which the niche
optimization may be applied even when multiple variants have data.

21 months agoAuto merge of #9365 - c410-f3r:arith, r=Alexendoo
bors [Wed, 7 Sep 2022 19:55:34 +0000 (19:55 +0000)]
Auto merge of #9365 - c410-f3r:arith, r=Alexendoo

[Arithmetic] Consider literals

Fixes https://github.com/rust-lang/rust-clippy/issues/9307 and makes the `arithmetic` lint behave like `integer_arithmetic`.

It is worth noting that literal integers of a binary operation (`1 + 1`, `i32::MAX + 1`), **regardless if they are in a constant environment**, won't trigger the lint. Assign operations also have similar reasoning.

changelog: Consider literals in the arithmetic lint

21 months agoRollup merge of #101538 - notriddle:notriddle/content-methods-div, r=GuillaumeGomez
Matthias Krüger [Wed, 7 Sep 2022 19:48:23 +0000 (21:48 +0200)]
Rollup merge of #101538 - notriddle:notriddle/content-methods-div, r=GuillaumeGomez

rustdoc: remove unused CSS `.content .methods > div`

This selector has its roots in these commits:

  * current version:

    `.content .methods > div:not(.notable-traits):not(.method)` from 9077d540da944c41678a7129e04e7fc5d7e38582

  * intermediate version:

    `.content .methods > div:not(.important-traits)` from d86621f69e827361e47bc6c4b2c7fd5319155227

  * original version:

    `.content .methods > div { margin-left: 40px; }` from 0a46933c4d81573e78ce16cd215ba155a3114fce

Based on the call stack, where [`class='methods'`] calls `trait_item` and [`trait_item`] calls [`document`], this div selector was probably intended to target docblock and stability tags.

In the current version of the code, neither of these can possibly be nested directly below the `class='methods'` wrapper, because the [current version of the `trait_item` function] always wraps them in a `<details>` tag if they exist. The only div tag that can possibly be nested directly below it now is the one with class `method`, which is explicitly excluded.

[`class='methods'`]: https://github.com/rust-lang/rust/blob/0a46933c4d81573e78ce16cd215ba155a3114fce/src/librustdoc/html/render.rs#L1811-L1842

[`trait_item`]: https://github.com/rust-lang/rust/blob/0a46933c4d81573e78ce16cd215ba155a3114fce/src/librustdoc/html/render.rs#L1807

[`document`]: https://github.com/rust-lang/rust/blob/0a46933c4d81573e78ce16cd215ba155a3114fce/src/librustdoc/html/render.rs#L1515-L1523

[current version of the `trait_item` function]: https://github.com/rust-lang/rust/blob/e7c7aa7288559f8e5ea7ce3543ff946b09783628/src/librustdoc/html/render/print_item.rs#L710

21 months agoRollup merge of #101536 - GuillaumeGomez:is_doc_comment-doc, r=lqd
Matthias Krüger [Wed, 7 Sep 2022 19:48:23 +0000 (21:48 +0200)]
Rollup merge of #101536 - GuillaumeGomez:is_doc_comment-doc, r=lqd

Add documentation for Attr::is_doc_comment

The function name is very misleading, some explanations won't hurt.

r? `@lqd`

21 months agoRollup merge of #101535 - est31:tidy_error_fix, r=Mark-Simulacrum
Matthias Krüger [Wed, 7 Sep 2022 19:48:22 +0000 (21:48 +0200)]
Rollup merge of #101535 - est31:tidy_error_fix, r=Mark-Simulacrum

Fix error printing mistake in tidy

Fixes a small bug in the error printing code added by #100591 .

21 months agoRollup merge of #101534 - rust-lang:notriddle/rustdoc-flex-direction, r=GuillaumeGomez
Matthias Krüger [Wed, 7 Sep 2022 19:48:21 +0000 (21:48 +0200)]
Rollup merge of #101534 - rust-lang:notriddle/rustdoc-flex-direction, r=GuillaumeGomez

rustdoc: remove unused mobile CSS `.rustdoc { flex-direction }`

According to MDN, [flex-direction] only applies to [flex containers], which are boxes with `display: flex` or `inline-flex`.

However, the `.rustdoc` body container is not a flex-container on mobile. A few lines above, it's set to `display: block`, so this selector does not have any effect.

[flex-direction]: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction

[flex containers]: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox#the_flex_container

21 months agoRollup merge of #101525 - eltociear:patch-16, r=cjgillot
Matthias Krüger [Wed, 7 Sep 2022 19:48:20 +0000 (21:48 +0200)]
Rollup merge of #101525 - eltociear:patch-16, r=cjgillot

Fix typo in pass_manager.rs

overriden -> overridden

21 months agoRollup merge of #101521 - aDotInTheVoid:rdj-structkind, r=GuillaumeGomez
Matthias Krüger [Wed, 7 Sep 2022 19:48:19 +0000 (21:48 +0200)]
Rollup merge of #101521 - aDotInTheVoid:rdj-structkind, r=GuillaumeGomez

Rustdoc-Json: More accurate struct type.

Closes #101489

r? `@GuillaumeGomez`

21 months agoRollup merge of #101507 - notriddle:notriddle/main-content-table-td, r=GuillaumeGomez
Matthias Krüger [Wed, 7 Sep 2022 19:48:18 +0000 (21:48 +0200)]
Rollup merge of #101507 - notriddle:notriddle/main-content-table-td, r=GuillaumeGomez

rustdoc: remove unused CSS `#main-content > table td`

This rule was added in 4e2c59a970695b2809a0f68f2ffe415ebdb04913 to benefit the module items table. However, the module items table stopped using table tags when 6020c79ddeafe8d9760b27c14c39da81bac9b4a6 switched us over to grid layout.

You can see when this one used to be triggered by visiting <https://doc.rust-lang.org/1.54.0/alloc/slice/index.html#structs-1> in a very narrow window, but it doesn't any more, because the module table is now rendered using `<div>` tags.

21 months agoRollup merge of #101506 - notriddle:notriddle/rustdoc-main-since-2, r=GuillaumeGomez
Matthias Krüger [Wed, 7 Sep 2022 19:48:17 +0000 (21:48 +0200)]
Rollup merge of #101506 - notriddle:notriddle/rustdoc-main-since-2, r=GuillaumeGomez

rustdoc: remove unused CSS `#main-content > .since`

I missed one from #101298

21 months agoRollup merge of #101503 - spastorino:add-debug-calls, r=compiler-errors
Matthias Krüger [Wed, 7 Sep 2022 19:48:16 +0000 (21:48 +0200)]
Rollup merge of #101503 - spastorino:add-debug-calls, r=compiler-errors

Add debug calls

`@oli-obk` requested this and other changes as a way of simplifying https://github.com/rust-lang/rust/pull/101345. This is just going to make the diff of https://github.com/rust-lang/rust/pull/101345 smaller.

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

21 months agoRollup merge of #101502 - TaKO8Ki:do-not-suggest-semicolon-for-macro-without-exclamat...
Matthias Krüger [Wed, 7 Sep 2022 19:48:15 +0000 (21:48 +0200)]
Rollup merge of #101502 - TaKO8Ki:do-not-suggest-semicolon-for-macro-without-exclamation-mark, r=wesleywiser

Do not suggest a semicolon for a macro without `!`

Fixes a regression in #101490

21 months agoRollup merge of #101493 - spastorino:borrow-mut-impl-trait-context, r=oli-obk
Matthias Krüger [Wed, 7 Sep 2022 19:48:14 +0000 (21:48 +0200)]
Rollup merge of #101493 - spastorino:borrow-mut-impl-trait-context, r=oli-obk

Pass ImplTraitContext as &mut to avoid the need of ImplTraitContext::reborrow

`@oli-obk` requested this and other changes as a way of simplifying #101345. This is just going to make the diff of #101345 smaller.

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

21 months agoRollup merge of #101435 - JakobDegen:bitwidth-tests, r=wesleywiser
Matthias Krüger [Wed, 7 Sep 2022 19:48:13 +0000 (21:48 +0200)]
Rollup merge of #101435 - JakobDegen:bitwidth-tests, r=wesleywiser

Remove unnecessary `EMIT_MIR_FOR_EACH_BITWIDTH`

This commit removes the annotation only for those tests where the 32 bit and 64 bit files were exactly identical. I didn't touch anything in the `mir-opt/const` directory, since having this annotation there seems more principled, even if it doesn't make a difference.

This also removes four additional files related to the `separate_const_switch.rs` test. The associated annotations were removed in #100827 , but I forgot to remove the files as well. (#97564 is the issue tracking an automated check here)

r? ```@wesleywiser```

21 months agoRollup merge of #101416 - uarif1:doc_non_blocking_stdio, r=joshtriplett
Matthias Krüger [Wed, 7 Sep 2022 19:48:12 +0000 (21:48 +0200)]
Rollup merge of #101416 - uarif1:doc_non_blocking_stdio, r=joshtriplett

stdio: Document no support for writing to non-blocking stdio/stderr

Printing to stdio/stderr that have been opened with non-blocking
(O_NONBLOCK in linux) can result in an error, which is not handled
by std::io module causing a panic.

Signed-off-by: Usama Arif <usama.arif@bytedance.com>
21 months agoRollup merge of #101343 - diminishedprime:patch-3, r=tmandry
Matthias Krüger [Wed, 7 Sep 2022 19:48:11 +0000 (21:48 +0200)]
Rollup merge of #101343 - diminishedprime:patch-3, r=tmandry

Add -api-level to pm command

As of ~Aug 30th, `pm build` commands require an `api-level` flag. This flag should match the fuchsia api-level that's being targeted by the code. Since this is dependent on the version of the SDK that's being used, we may want to change this to something a bit more robust in the future.

21 months agoAuto merge of #9441 - Jarcho:hang_9433, r=Alexendoo
bors [Wed, 7 Sep 2022 19:43:00 +0000 (19:43 +0000)]
Auto merge of #9441 - Jarcho:hang_9433, r=Alexendoo

Fix hang in `vec_init_then_push`

fixes #9433
changelog: Fix infinite loop in `vec_init_then_push`

21 months agoFix hang in `vec_init_then_push`
Jason Newcomb [Wed, 7 Sep 2022 19:26:44 +0000 (15:26 -0400)]
Fix hang in `vec_init_then_push`

21 months agoAuto merge of #101476 - ChrisDenton:BCryptRandom-fix, r=thomcc
bors [Wed, 7 Sep 2022 18:54:03 +0000 (18:54 +0000)]
Auto merge of #101476 - ChrisDenton:BCryptRandom-fix, r=thomcc

Open a BCrypt algorithm handle

Fixes #101474, supplants #101456.

Replaces use of a pseduo handle with manually opening a algorithm handle.

Most interesting thing here is the atomics.

r? `@thomcc`

21 months agorustdoc: remove unused CSS `#main-content > table td`
Michael Howell [Tue, 6 Sep 2022 21:47:04 +0000 (14:47 -0700)]
rustdoc: remove unused CSS `#main-content > table td`

This rule was added in 4e2c59a970695b2809a0f68f2ffe415ebdb04913
to benefit the module items table. However, the module items table stopped
using table tags when 6020c79ddeafe8d9760b27c14c39da81bac9b4a6
switched us over to grid layout.

You can see when this one used to be triggered by visiting
<https://doc.rust-lang.org/1.54.0/alloc/slice/index.html#structs-1> in a
very narrow window, but it doesn't any more, because the module table is
now rendered using `<div>` tags.

21 months agoAuto merge of #101522 - oli-obk:miriup, r=oli-obk
bors [Wed, 7 Sep 2022 16:31:39 +0000 (16:31 +0000)]
Auto merge of #101522 - oli-obk:miriup, r=oli-obk

Update miri submodule

fixes #101344

cc `@rust-lang/miri`

r? `@ghost`

21 months agoTypo
Maurits van Riezen [Wed, 7 Sep 2022 15:53:47 +0000 (17:53 +0200)]
Typo

21 months agorustdoc: remove unused CSS `.content .methods > div`
Michael Howell [Wed, 7 Sep 2022 15:42:31 +0000 (08:42 -0700)]
rustdoc: remove unused CSS `.content .methods > div`

This selector has its roots in these commits:

  * current version:

    `.content .methods > div:not(.notable-traits):not(.method)` from
    9077d540da944c41678a7129e04e7fc5d7e38582

  * intermediate version:

    `.content .methods > div:not(.important-traits)` from
    d86621f69e827361e47bc6c4b2c7fd5319155227

  * original version:

    `.content .methods > div { margin-left: 40px; }` from
    0a46933c4d81573e78ce16cd215ba155a3114fce

Based on the call stack, where [`class='methods'`] calls `trait_item` and
[`trait_item`] calls [`document`], this div selector was probably intended to
target docblock and stability tags.

In the current version of the code, neither of these can possibly be nested
directly below the `class='methods'` wrapper, because the [current version of
the `trait_item` function] always wraps them in a `<details>` tag if they
exist. The only div tag that can possibly be nested directly below it now is
the one with class `method`, which is explicitly excluded.

[`class='methods'`]: https://github.com/rust-lang/rust/blob/0a46933c4d81573e78ce16cd215ba155a3114fce/src/librustdoc/html/render.rs#L1811-L1842

[`trait_item`]: https://github.com/rust-lang/rust/blob/0a46933c4d81573e78ce16cd215ba155a3114fce/src/librustdoc/html/render.rs#L1807

[`document`]: https://github.com/rust-lang/rust/blob/0a46933c4d81573e78ce16cd215ba155a3114fce/src/librustdoc/html/render.rs#L1515-L1523

[current version of the `trait_item` function]: https://github.com/rust-lang/rust/blob/e7c7aa7288559f8e5ea7ce3543ff946b09783628/src/librustdoc/html/render/print_item.rs#L710

21 months agoUpdate miri submodule
Oli Scherer [Wed, 7 Sep 2022 08:43:29 +0000 (08:43 +0000)]
Update miri submodule

21 months agoAdd doctest
Maurits van Riezen [Wed, 7 Sep 2022 14:36:32 +0000 (16:36 +0200)]
Add doctest

21 months agoAuto merge of #101432 - nnethercote:shrink-PredicateS, r=lcnr
bors [Wed, 7 Sep 2022 13:49:58 +0000 (13:49 +0000)]
Auto merge of #101432 - nnethercote:shrink-PredicateS, r=lcnr

Shrink `PredicateS`

r? `@ghost`

21 months agoAuto merge of #101432 - nnethercote:shrink-PredicateS, r=lcnr
bors [Wed, 7 Sep 2022 13:49:58 +0000 (13:49 +0000)]
Auto merge of #101432 - nnethercote:shrink-PredicateS, r=lcnr

Shrink `PredicateS`

r? `@ghost`

21 months agoFix error printing mistake in tidy
est31 [Wed, 7 Sep 2022 13:47:44 +0000 (15:47 +0200)]
Fix error printing mistake in tidy

21 months agoFormat hir_id_validator error using pretty print
Santiago Pastorino [Tue, 6 Sep 2022 20:26:05 +0000 (17:26 -0300)]
Format hir_id_validator error using pretty print

21 months agoAdd instrument and debug calls
Santiago Pastorino [Tue, 6 Sep 2022 20:24:36 +0000 (17:24 -0300)]
Add instrument and debug calls

21 months agorustdoc: remove unused mobile CSS `.rustdoc { flex-direction }`
Michael Howell [Wed, 7 Sep 2022 13:42:36 +0000 (06:42 -0700)]
rustdoc: remove unused mobile CSS `.rustdoc { flex-direction }`

According to MDN, [flex-direction] only applies to [flex containers], which
are boxes with `display: flex` or `inline-flex`.

However, the `.rustdoc` body container is not a flex-container on mobile.
A few lines above, it's set to `display: block`, so this selector does
not have any effect.

[flex-direction]: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction

[flex containers]: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox#the_flex_container

21 months agollvm-wrapper: adapt for LLVM API changes
Krasimir Georgiev [Wed, 7 Sep 2022 12:08:06 +0000 (12:08 +0000)]
llvm-wrapper: adapt for LLVM API changes

No functional changes intended.

Adapts PassWrapper for two recent LLVM API changes:
* https://github.com/llvm/llvm-project/commit/e7bac3b9fa739f8d167a390a547068aad1d424a7
* https://github.com/llvm/llvm-project/commit/93600eb50ceeec83c488ded24fa0fd25f997fec6
* https://github.com/llvm/llvm-project/commit/5e38b2a456df6e263a509af60a731cec57310498

21 months agoAdd documentation for Attr::is_doc_comment
Guillaume Gomez [Wed, 7 Sep 2022 13:34:16 +0000 (15:34 +0200)]
Add documentation for Attr::is_doc_comment

21 months agostdio: Document no support for writing to non-blocking stdio/stderr
Usama Arif [Sun, 4 Sep 2022 17:43:18 +0000 (18:43 +0100)]
stdio: Document no support for writing to non-blocking stdio/stderr

Printing to stdio/stderr that have been opened with non-blocking
(O_NONBLOCK in linux) can result in an error, which is not handled
by std::io module causing a panic.

Signed-off-by: Usama Arif <usama.arif@bytedance.com>
21 months ago[Arithmetic] Consider literals
Caio [Wed, 7 Sep 2022 13:00:45 +0000 (10:00 -0300)]
[Arithmetic] Consider literals

21 months agoDon't break windows/rand for miri
Chris Denton [Wed, 7 Sep 2022 12:14:27 +0000 (13:14 +0100)]
Don't break windows/rand for miri

21 months agoignore `-Zgcc-ld=lld` test on msvc
Rémy Rakic [Tue, 6 Sep 2022 21:39:37 +0000 (23:39 +0200)]
ignore `-Zgcc-ld=lld` test on msvc

now that CI correctly detects rust-lld in run-make tests, we ignore this
test since it relies on `-Zgcc-ld=lld` which is not made to work on the
windows-msvc targets: it requires a gcc flavor.

21 months agofix compiletest detection of needs-rust-lld tests
Rémy Rakic [Tue, 6 Sep 2022 15:19:46 +0000 (17:19 +0200)]
fix compiletest detection of needs-rust-lld tests

for both windows and unixes

21 months agofix lld-wrapper lld flavor detection
Rémy Rakic [Tue, 6 Sep 2022 13:54:20 +0000 (15:54 +0200)]
fix lld-wrapper lld flavor detection

21 months agoThis example was broken
Maurits van Riezen [Wed, 7 Sep 2022 12:01:30 +0000 (14:01 +0200)]
This example was broken

The provided example to the `sign_plus` method on `fmt` is broken, it displays the `-` sign twice for negative numbers.

21 months agoUpdate LLVM used in x86 CI dist builds to `15.0.0`
Jakub Beránek [Wed, 7 Sep 2022 11:21:38 +0000 (13:21 +0200)]
Update LLVM used in x86 CI dist builds to `15.0.0`

21 months agoFix typo in pass_manager.rs
Ikko Ashimine [Wed, 7 Sep 2022 10:32:28 +0000 (19:32 +0900)]
Fix typo in pass_manager.rs

overriden -> overridden

21 months agoAuto merge of #98332 - oli-obk:assume, r=wesleywiser
bors [Wed, 7 Sep 2022 09:47:23 +0000 (09:47 +0000)]
Auto merge of #98332 - oli-obk:assume, r=wesleywiser

Lower the assume intrinsic to a MIR statement

This makes https://github.com/rust-lang/rust/pull/96862#issuecomment-1153739068 easier and will generally allow us to cheaply insert assume intrinsic calls in mir building.

r? rust-lang/wg-mir-opt

21 months agorustc: Parameterize `ty::Visibility` over used ID
Vadim Petrochenkov [Sat, 27 Aug 2022 21:10:06 +0000 (00:10 +0300)]
rustc: Parameterize `ty::Visibility` over used ID

It allows using `LocalDefId` instead of `DefId` when possible, and also encode cheaper `Visibility<DefIndex>` into metadata.

21 months agoRustdoc-Json: More accurate struct type.
Nixon Enraght-Moony [Wed, 7 Sep 2022 08:37:22 +0000 (09:37 +0100)]
Rustdoc-Json: More accurate struct type.

Closes #101489

21 months agoAuto merge of #101232 - nikic:issue-98294, r=Mark-Simulacrum
bors [Wed, 7 Sep 2022 05:58:29 +0000 (05:58 +0000)]
Auto merge of #101232 - nikic:issue-98294, r=Mark-Simulacrum

Add test for #98294

Add a test to make that the failure condition for this pattern is optimized away.

Fixes #98294.

21 months agoAuto merge of #100801 - Kobzol:track-pgo-profile-paths, r=michaelwoerister
bors [Wed, 7 Sep 2022 03:17:10 +0000 (03:17 +0000)]
Auto merge of #100801 - Kobzol:track-pgo-profile-paths, r=michaelwoerister

Track PGO profiles in depinfo

This PR makes sure that PGO profiles (`-Cprofile-use` and `-Cprofile-sample-use`) are tracked in depinfo, so that when they change, the compilation session will be invalidated.

This approach was discussed on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/Tracking.20PGO.20profile.20files.20in.20cargo).

I tried it locally and it seems that the code is recompiled just with this change, and https://github.com/rust-lang/rust/pull/100413 is not even needed. But it's possible that not everything required is recompiled, so we will probably want to land both changes.

Another approach to implement this could be to store the PGO profiles in `sess.parse_sess.file_depinfo` when the session is being created, but then the paths would have to be converted to a string and then to a symbol, which seemed unnecessarily complicated.

CC `@michaelwoerister`

r? `@Eh2406`

21 months agoAuto merge of #101508 - JohnTitor:rollup-i5i2vqc, r=JohnTitor
bors [Wed, 7 Sep 2022 00:35:54 +0000 (00:35 +0000)]
Auto merge of #101508 - JohnTitor:rollup-i5i2vqc, r=JohnTitor

Rollup of 8 pull requests

Successful merges:

 - #101451 (Add incremental test for changing struct name in assoc type.)
 - #101468 (fix RPIT ICE for implicit HRTB when missing dyn)
 - #101481 (Fix compile errors for uwp-windows-msvc targets)
 - #101484 (Remove dead broken code from const zst handling in backends)
 - #101486 (Add list of recognized repr attributes to the unrecognized repr error)
 - #101488 (rustdoc: remove unused CSS `#results > table`)
 - #101491 (rustdoc: remove outdated CSS `.sub-variant > div > .item-info`)
 - #101497 (:arrow_up: rust-analyzer)

Failed merges:

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

21 months agoMake `HandleCycleError` an enum instead of a macro-generated closure
Joshua Nelson [Fri, 2 Sep 2022 01:43:12 +0000 (20:43 -0500)]
Make `HandleCycleError` an enum instead of a macro-generated closure

- Add a `HandleCycleError` enum to rustc_query_system, along with a `handle_cycle_error` function
- Move `Value` to rustc_query_system, so `handle_cycle_error` can use it
- Move the `Value` impls from rustc_query_impl to rustc_middle. This is necessary due to orphan rules.

21 months agoAuto merge of #9421 - xphoniex:fix-#9420, r=giraffate
bors [Tue, 6 Sep 2022 23:44:38 +0000 (23:44 +0000)]
Auto merge of #9421 - xphoniex:fix-#9420, r=giraffate

Suggest `unwrap_or_default` when closure returns `"".to_string`

Closes https://github.com/rust-lang/rust-clippy/issues/9420

changelog: [`unwrap_or_else_default`]: suggest `unwrap_or_default()` instead of `unwrap_or_else` with a closure that returns an empty `to_string`.

21 months agoRollup merge of #101497 - lnicola:rust-analyzer-2022-09-06, r=lnicola
Yuki Okushi [Tue, 6 Sep 2022 22:43:57 +0000 (07:43 +0900)]
Rollup merge of #101497 - lnicola:rust-analyzer-2022-09-06, r=lnicola

:arrow_up: rust-analyzer

r? `@ghost`

21 months agoRollup merge of #101491 - notriddle:notriddle/sub-variant-div-item-info, r=GuillaumeGomez
Yuki Okushi [Tue, 6 Sep 2022 22:43:57 +0000 (07:43 +0900)]
Rollup merge of #101491 - notriddle:notriddle/sub-variant-div-item-info, r=GuillaumeGomez

rustdoc: remove outdated CSS `.sub-variant > div > .item-info`

This CSS still matches sometimes, as you can see in <https://doc.rust-lang.org/1.63.0/std/collections/enum.TryReserveErrorKind.html#variant.AllocError.fields>, but since nothing else is setting `margin-top`, putting it back to `initial` does nothing.

This selector was added here, but it was called `.stability` instead of `.item-info` at the time, probably as an override for the selector immediately above it that sets a negative margin:

https://github.com/rust-lang/rust/blob/2fd378b82b14f2746462018e8510e15a079818a0/src/librustdoc/html/static/rustdoc.css#L514-L522

That negative margin was removed in 593d6d1cb15c55c88319470dabb40126c7b7f1e2.

21 months agoRollup merge of #101488 - notriddle:notriddle/results-table, r=GuillaumeGomez
Yuki Okushi [Tue, 6 Sep 2022 22:43:56 +0000 (07:43 +0900)]
Rollup merge of #101488 - notriddle:notriddle/results-table, r=GuillaumeGomez

rustdoc: remove unused CSS `#results > table`

This code was added in 96ef2f8ab9bbea24b71c7441ee534407949848db to improve rendering of the search results table, but results have not used a table since b615c0c85469c94041a5e68b9d8b68dcf799f9f1 switched it to rendering with `<div>` tags.

21 months agoRollup merge of #101486 - asquared31415:invalid_repr_list, r=estebank
Yuki Okushi [Tue, 6 Sep 2022 22:43:54 +0000 (07:43 +0900)]
Rollup merge of #101486 - asquared31415:invalid_repr_list, r=estebank

Add list of recognized repr attributes to the unrecognized repr error

21 months agoRollup merge of #101484 - oli-obk:no_zst, r=eddyb
Yuki Okushi [Tue, 6 Sep 2022 22:43:54 +0000 (07:43 +0900)]
Rollup merge of #101484 - oli-obk:no_zst, r=eddyb

Remove dead broken code from const zst handling in backends

cc `@RalfJung`

found by `@eddyb` in https://github.com/rust-lang/rust/pull/98957#discussion_r963744605

21 months agoRollup merge of #101481 - ChrisDenton:uwp-fix, r=thomcc
Yuki Okushi [Tue, 6 Sep 2022 22:43:53 +0000 (07:43 +0900)]
Rollup merge of #101481 - ChrisDenton:uwp-fix, r=thomcc

Fix compile errors for uwp-windows-msvc targets

Fixes #101480

21 months agoRollup merge of #101468 - spastorino:fix-ice-rpit-hrtb-without-dyn, r=cjgillot
Yuki Okushi [Tue, 6 Sep 2022 22:43:52 +0000 (07:43 +0900)]
Rollup merge of #101468 - spastorino:fix-ice-rpit-hrtb-without-dyn, r=cjgillot

fix RPIT ICE for implicit HRTB when missing dyn

Closes #101297

r? `@cjgillot`

cc `@nikomatsakis`

21 months agoRollup merge of #101451 - cjgillot:test-100521, r=TaKO8Ki
Yuki Okushi [Tue, 6 Sep 2022 22:43:51 +0000 (07:43 +0900)]
Rollup merge of #101451 - cjgillot:test-100521, r=TaKO8Ki

Add incremental test for changing struct name in assoc type.

The ICE appears on beta and is fixed on nightly.

Fixes #100521

21 months agorustdoc: remove unused CSS `#main-content > .since`
Michael Howell [Tue, 6 Sep 2022 21:29:46 +0000 (14:29 -0700)]
rustdoc: remove unused CSS `#main-content > .since`

I missed one from 096efc29f1be25daca6675f5f7684780ff294613.

21 months agoAuto merge of #100404 - BelovDV:linker_group, r=petrochenkov
bors [Tue, 6 Sep 2022 22:06:54 +0000 (22:06 +0000)]
Auto merge of #100404 - BelovDV:linker_group, r=petrochenkov

change stdlib circular dependencies handling

Remove group_start and group_end, add dependencies to symbols.o
Implements the suggestion from https://github.com/rust-lang/rust/pull/85805#discussion_r666249351
r? `@petrochenkov`

21 months agoWhoops forgot a space
Nikita Tomashevich [Tue, 6 Sep 2022 19:55:49 +0000 (22:55 +0300)]
Whoops forgot a space

21 months agoReplace manual impl with a derive macro as multipart suggestions are now supported...
Nikita Tomashevich [Tue, 6 Sep 2022 19:18:56 +0000 (22:18 +0300)]
Replace manual impl with a derive macro as multipart suggestions are now supported by them

21 months agodo not suggest a semicolon for a macro without `!`
Takayuki Maeda [Tue, 6 Sep 2022 18:59:47 +0000 (03:59 +0900)]
do not suggest a semicolon for a macro without `!`

21 months agoShrink span for bindings with subpatterns.
Camille GILLOT [Sat, 3 Sep 2022 22:55:53 +0000 (00:55 +0200)]
Shrink span for bindings with subpatterns.

21 months agoOpen a BCrypt algorithm handle
Chris Denton [Tue, 6 Sep 2022 09:49:34 +0000 (10:49 +0100)]
Open a BCrypt algorithm handle

21 months agoAllow lint passes to be bound by `TyCtxt`
Jason Newcomb [Tue, 6 Sep 2022 18:23:03 +0000 (14:23 -0400)]
Allow lint passes to be bound by `TyCtxt`

21 months agoPass ImplTraitContext as &mut to avoid the need of ImplTraitContext::reborrow later on
Santiago Pastorino [Fri, 2 Sep 2022 20:38:58 +0000 (17:38 -0300)]
Pass ImplTraitContext as &mut to avoid the need of ImplTraitContext::reborrow later on

21 months ago:arrow_up: rust-analyzer
Laurențiu Nicola [Tue, 6 Sep 2022 18:20:49 +0000 (21:20 +0300)]
:arrow_up: rust-analyzer

21 months agoAuto merge of #101485 - GuillaumeGomez:rollup-68p9di4, r=GuillaumeGomez
bors [Tue, 6 Sep 2022 18:10:14 +0000 (18:10 +0000)]
Auto merge of #101485 - GuillaumeGomez:rollup-68p9di4, r=GuillaumeGomez

Rollup of 7 pull requests

Successful merges:

 - #101357 (Include enum path in variant suggestion)
 - #101434 (Update `SessionDiagnostic::into_diagnostic` to take `Handler` instead of `ParseSess`)
 - #101445 (Suggest introducing an explicit lifetime if it does not exist)
 - #101457 (Recover from using `;` as separator between fields)
 - #101462 (Rustdoc-Json: Store Variant Fields as their own item.)
 - #101471 (Report number of delayed bugs properly with `-Ztreat-err-as-bug`)
 - #101473 (Add more size assertions for MIR types.)

Failed merges:

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

21 months agoCompile spin_loop_hint as pause on x86 even without sse2 enabled
bjorn3 [Tue, 6 Sep 2022 18:08:04 +0000 (20:08 +0200)]
Compile spin_loop_hint as pause on x86 even without sse2 enabled

The x86 `pause` instruction was introduced with sse2, but because it is encoded as `rep nop`, it works just fine on cpu's without sse2 support. It just doesn't do anything.

21 months agosuggest adding array lengths to references to arrays
Takayuki Maeda [Tue, 6 Sep 2022 17:37:18 +0000 (02:37 +0900)]
suggest adding array lengths to references to arrays