]> git.lizzy.rs Git - rust.git/log
rust.git
20 months agoRollup merge of #102922 - kper:bugfix/102902-filtering-json, r=oli-obk
Dylan DPC [Fri, 21 Oct 2022 11:59:58 +0000 (17:29 +0530)]
Rollup merge of #102922 - kper:bugfix/102902-filtering-json, r=oli-obk

Filtering spans when emitting json

According to the issue #102902, we shouldn't emit spans which have an empty span and no suggested replacement.

20 months agoRollup merge of #102287 - compiler-errors:unused-must-use-also-supertrait, r=fee1...
Dylan DPC [Fri, 21 Oct 2022 11:59:57 +0000 (17:29 +0530)]
Rollup merge of #102287 - compiler-errors:unused-must-use-also-supertrait, r=fee1-dead

Elaborate supertrait bounds when triggering `unused_must_use` on `impl Trait`

Given `impl Trait`, if one of its supertraits has a `#[must_use]`, then trigger the lint. This means that, for example, `-> impl ExactSizeIterator` also triggers the `must_use` on `trait Iterator`, which fixes #102183.

This might need `@rust-lang/lang` sign-off, since it changes the behavior of the lint, so cc'ing them.

20 months agoAuto merge of #103308 - sunfishcode:sunfishcode/wasi-io-safety, r=joshtriplett
bors [Fri, 21 Oct 2022 04:05:02 +0000 (04:05 +0000)]
Auto merge of #103308 - sunfishcode:sunfishcode/wasi-io-safety, r=joshtriplett

Mark `std::os::wasi::io::AsFd` etc. as stable.

io_safety was stabilized in Rust 1.63, so mark the io_safety exports in `std::os::wasi::io` as stable.

Fixes #103306.

20 months agoMake the whole `std::os::wasi::io` module stable.
Dan Gohman [Thu, 20 Oct 2022 21:31:11 +0000 (14:31 -0700)]
Make the whole `std::os::wasi::io` module stable.

20 months agoAuto merge of #103322 - matthiaskrgr:rollup-m9zgpft, r=matthiaskrgr
bors [Thu, 20 Oct 2022 21:08:28 +0000 (21:08 +0000)]
Auto merge of #103322 - matthiaskrgr:rollup-m9zgpft, r=matthiaskrgr

Rollup of 9 pull requests

Successful merges:

 - #103221 (Fix `SelfVisitor::is_self_ty` ICE)
 - #103230 (Clarify startup)
 - #103281 (Adjust `transmute{,_copy}` to be clearer about which of `T` and `U` is input vs output)
 - #103288 (Fixed docs typo in `library/std/src/time.rs`)
 - #103296 (+/- shortcut now only expand/collapse, not both)
 - #103297 (fix typo)
 - #103313 (Don't label `src/test` tests as `A-testsuite`)
 - #103315 (interpret: remove an incorrect assertion)
 - #103319 (Improve "`~const` is not allowed here" message)

Failed merges:

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

20 months agoRollup merge of #103319 - fee1-dead-contrib:improve_tilde_const_msg, r=oli-obk
Matthias Krüger [Thu, 20 Oct 2022 20:42:42 +0000 (22:42 +0200)]
Rollup merge of #103319 - fee1-dead-contrib:improve_tilde_const_msg, r=oli-obk

Improve "`~const` is not allowed here" message

r? `@oli-obk`

20 months agoRollup merge of #103315 - RalfJung:interpret-switchint-ice, r=bjorn3
Matthias Krüger [Thu, 20 Oct 2022 20:42:41 +0000 (22:42 +0200)]
Rollup merge of #103315 - RalfJung:interpret-switchint-ice, r=bjorn3

interpret: remove an incorrect assertion

This fixes an ICE in Miri, [reported](https://rust-lang.zulipchat.com/#narrow/stream/269128-miri/topic/SwitchInt.20with.20no.20targets.3F) by `@saethlin.` The faulty assertion was introduced by https://github.com/rust-lang/rust/commit/432535da2b5144d467056efcfa6864d35ba2de0f, when a previously correct assertion checking that the `otherwise` target exists got replaced by this assertion checking that at least one more target beyond `otherwise` exists.

Sadly we don't have a small reproducer so I don't think we can easily add a testcase.

20 months agoRollup merge of #103313 - compiler-errors:no-test, r=jyn514
Matthias Krüger [Thu, 20 Oct 2022 20:42:41 +0000 (22:42 +0200)]
Rollup merge of #103313 - compiler-errors:no-test, r=jyn514

Don't label `src/test` tests as `A-testsuite`

Nearly every PR modifies `src/test`; A-testsuite is meant to be for things affecting the test runners themselves.

cc https://github.com/rust-lang/rust/pull/103204#discussion_r1000868781

r? `@jyn514`

20 months agoRollup merge of #103297 - catandcoder:master, r=JohnTitor
Matthias Krüger [Thu, 20 Oct 2022 20:42:40 +0000 (22:42 +0200)]
Rollup merge of #103297 - catandcoder:master, r=JohnTitor

fix typo

20 months agoRollup merge of #103296 - GuillaumeGomez:collapse-expand-shortcuts, r=notriddle
Matthias Krüger [Thu, 20 Oct 2022 20:42:40 +0000 (22:42 +0200)]
Rollup merge of #103296 - GuillaumeGomez:collapse-expand-shortcuts, r=notriddle

+/- shortcut now only expand/collapse, not both

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

r? ```@notriddle```

20 months agoRollup merge of #103288 - johnmatthiggins:master, r=thomcc
Matthias Krüger [Thu, 20 Oct 2022 20:42:39 +0000 (22:42 +0200)]
Rollup merge of #103288 - johnmatthiggins:master, r=thomcc

Fixed docs typo in `library/std/src/time.rs`

* Changed comment from `Previous rust versions panicked when self was earlier than the current time.` to `Previous rust versions panicked when the current time was earlier than self.`
* Resolves #103282.

20 months agoRollup merge of #103281 - thomcc:long-overdue, r=jyn514
Matthias Krüger [Thu, 20 Oct 2022 20:42:39 +0000 (22:42 +0200)]
Rollup merge of #103281 - thomcc:long-overdue, r=jyn514

Adjust `transmute{,_copy}` to be clearer about which of `T` and `U` is input vs output

This is essentially a documentation-only change (although it does touch code in an irrelevant way).

20 months agoRollup merge of #103230 - nnethercote:clarify-startup, r=jyn514
Matthias Krüger [Thu, 20 Oct 2022 20:42:38 +0000 (22:42 +0200)]
Rollup merge of #103230 - nnethercote:clarify-startup, r=jyn514

Clarify startup

A small follow-up to #102769.

r? `@jyn514`

20 months agoRollup merge of #103221 - TaKO8Ki:fix-103202, r=oli-obk
Matthias Krüger [Thu, 20 Oct 2022 20:42:38 +0000 (22:42 +0200)]
Rollup merge of #103221 - TaKO8Ki:fix-103202, r=oli-obk

Fix `SelfVisitor::is_self_ty` ICE

Fixes #103202

20 months agoImprove "`~const` is not allowed here" message
Deadbeef [Thu, 20 Oct 2022 19:32:16 +0000 (19:32 +0000)]
Improve "`~const` is not allowed here" message

20 months agoElaborate supertrait bounds when triggering unused_must_use on impl Trait
Michael Goulet [Sun, 25 Sep 2022 22:23:36 +0000 (22:23 +0000)]
Elaborate supertrait bounds when triggering unused_must_use on impl Trait

20 months agointerpret: remove an incorrect assertion
Ralf Jung [Thu, 20 Oct 2022 17:06:34 +0000 (19:06 +0200)]
interpret: remove an incorrect assertion

20 months agono test in testsuite label
Michael Goulet [Thu, 20 Oct 2022 16:46:05 +0000 (16:46 +0000)]
no test in testsuite label

20 months agoAuto merge of #103092 - petrochenkov:weaklto, r=wesleywiser
bors [Thu, 20 Oct 2022 16:20:50 +0000 (16:20 +0000)]
Auto merge of #103092 - petrochenkov:weaklto, r=wesleywiser

linker: Fix weak lang item linking with combination windows-gnu + LLD + LTO

In https://github.com/rust-lang/rust/pull/100404 this logic was originally disabled for MSVC due to issues with LTO, but the same issues appear on windows-gnu with LLD because that LLD uses the same underlying logic as MSVC LLD, just with re-syntaxed command line options.

So this PR just disables it for LTO builds in general.

20 months agoMark `std::os::wasi::io::AsFd` etc. as stable.
Dan Gohman [Thu, 20 Oct 2022 15:04:19 +0000 (08:04 -0700)]
Mark `std::os::wasi::io::AsFd` etc. as stable.

io_safety was stabilized in Rust 1.63, so mark the io_safety exports in
`std::os::wasi::io` as stable.

Fixes #103306.

20 months agoAuto merge of #103290 - matthiaskrgr:rollup-ngozai3, r=matthiaskrgr
bors [Thu, 20 Oct 2022 13:33:50 +0000 (13:33 +0000)]
Auto merge of #103290 - matthiaskrgr:rollup-ngozai3, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #103197 (Stabilize proc_macro::Span::source_text)
 - #103251 (Fix item declaration highlighting)
 - #103262 (Adjusting test to needs-unwind, with linking issue)
 - #103268 (rustdoc: remove no-op CSS `nav.sub { font-size: 1rem }`)
 - #103272 (Remove extra spaces in docs)
 - #103276 (Erase regions before checking for `Default` in uninitialized binding error)

Failed merges:

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

20 months agoAuto merge of #103185 - chenyukang:yukang/fix-span-next-point, r=davidtwco
bors [Thu, 20 Oct 2022 10:40:09 +0000 (10:40 +0000)]
Auto merge of #103185 - chenyukang:yukang/fix-span-next-point, r=davidtwco

Fix the bug of next_point in source_map

There is a bug in `next_point`, the new span won't move to next position when be called in the first time.

For this reason, our current code is working like this:
1. When we really want to move to the next position, we called two times of `next_point`
2. Some code which use `next_point` actually done the same thing with `shrink_to_hi`

This fix make sure when `next_point` is called, span will move with the width at least 1, and also work correctly in the scenario of multiple bytes.

Ref: https://github.com/rust-lang/rust/pull/103140#discussion_r997710998

r? `@davidtwco`

20 months agofix typo
cui fliter [Thu, 20 Oct 2022 10:00:36 +0000 (18:00 +0800)]
fix typo

20 months agoAdd GUI tests for collapse/expand actions
Guillaume Gomez [Thu, 20 Oct 2022 09:34:40 +0000 (11:34 +0200)]
Add GUI tests for collapse/expand actions

20 months ago+/- shortcut now only expand/collapse, not both
Guillaume Gomez [Thu, 20 Oct 2022 09:33:31 +0000 (11:33 +0200)]
+/- shortcut now only expand/collapse, not both

20 months agoImplement assertions and fixes to not emit empty spans without suggestions
Kevin Per [Tue, 11 Oct 2022 16:17:59 +0000 (16:17 +0000)]
Implement assertions and fixes to not emit empty spans without suggestions

20 months agoRollup merge of #103276 - compiler-errors:default-on-uninit-ice, r=TaKO8Ki
Matthias Krüger [Thu, 20 Oct 2022 05:58:58 +0000 (07:58 +0200)]
Rollup merge of #103276 - compiler-errors:default-on-uninit-ice, r=TaKO8Ki

Erase regions before checking for `Default` in uninitialized binding error

Fixes #103250

20 months agoRollup merge of #103272 - clubby789:extra-spaces, r=thomcc
Matthias Krüger [Thu, 20 Oct 2022 05:58:57 +0000 (07:58 +0200)]
Rollup merge of #103272 - clubby789:extra-spaces, r=thomcc

Remove extra spaces in docs

Removing some random extra spaces in the examples for `core::sync::atomic`.

r? `@thomcc`

20 months agoRollup merge of #103268 - notriddle:notriddle/nav-sub-font-size, r=GuillaumeGomez
Matthias Krüger [Thu, 20 Oct 2022 05:58:57 +0000 (07:58 +0200)]
Rollup merge of #103268 - notriddle:notriddle/nav-sub-font-size, r=GuillaumeGomez

rustdoc: remove no-op CSS `nav.sub { font-size: 1rem }`

This rule originated as a `font-size: 16px`, when body had `font-size: 13px` set in 4fd061c426902b0904c65e64a3780b21f9ab3afb.

It remained even when body's font size was bumped up to 16px, 4d5f4ff5e9297dcad21612f9dd20ae4598b5b7e2, making the rule a no-op, and was carried forward when it was converted to 1rem in cc18120425a5c571a968d850c75cc935a8321136.

20 months agoRollup merge of #103262 - andrewpollack:switch-needs-unwind, r=tmandry
Matthias Krüger [Thu, 20 Oct 2022 05:58:56 +0000 (07:58 +0200)]
Rollup merge of #103262 - andrewpollack:switch-needs-unwind, r=tmandry

Adjusting test to needs-unwind, with linking issue

Test requires `needs-unwind` (see linked issue #103261)

20 months agoRollup merge of #103251 - GuillaumeGomez:item-decl-highlighting, r=notriddle
Matthias Krüger [Thu, 20 Oct 2022 05:58:56 +0000 (07:58 +0200)]
Rollup merge of #103251 - GuillaumeGomez:item-decl-highlighting, r=notriddle

Fix item declaration highlighting

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

As mentioned in the issue, https://github.com/rust-lang/rust/pull/102924 introduced this regression. This PR partially reverts it and adds a regression test.

r? `@notriddle`

20 months agoRollup merge of #103197 - est31:stabilize_proc_macro_source_text, r=petrochenkov
Matthias Krüger [Thu, 20 Oct 2022 05:58:55 +0000 (07:58 +0200)]
Rollup merge of #103197 - est31:stabilize_proc_macro_source_text, r=petrochenkov

Stabilize proc_macro::Span::source_text

Splits `proc_macro::Span::source_text` into a new feature gate and stabilizes it. The [FCP is complete](https://github.com/rust-lang/rust/issues/101991#issuecomment-1279393265).

```Rust
impl Span {
    pub fn source_text(&self) -> Option<String>;
}
```

Closes #101991

20 months agoAuto merge of #103220 - compiler-errors:deny-infers, r=lcnr
bors [Thu, 20 Oct 2022 05:56:56 +0000 (05:56 +0000)]
Auto merge of #103220 - compiler-errors:deny-infers, r=lcnr

Deny hashing ty/re/ct inference variables

cc `@cjgillot` and https://github.com/rust-lang/rust/pull/102695#issuecomment-1275706528
r? `@lcnr`

best reviewed one commit at a time, mostly because the second commit that fixes `ClosureOutlivesRequirement` is mostly noise because of losing its `<'tcx>` lifetime parameter.

20 months agoAdjust `transmute{,_copy}` to be clearer about which of `T` and `U` is input vs output
Thom Chiovoloni [Thu, 20 Oct 2022 02:07:24 +0000 (19:07 -0700)]
Adjust `transmute{,_copy}` to be clearer about which of `T` and `U` is input vs output

20 months agocheck if impl_self is `Some`
Takayuki Maeda [Thu, 20 Oct 2022 05:10:52 +0000 (14:10 +0900)]
check if impl_self is `Some`

20 months agoFixed docs typo in `library/std/src/time.rs`
John Higgins [Thu, 20 Oct 2022 04:49:29 +0000 (21:49 -0700)]
Fixed docs typo in `library/std/src/time.rs`

20 months agoAuto merge of #103205 - spastorino:fix-rpits-lifetime-remapping, r=cjgillot
bors [Thu, 20 Oct 2022 03:07:17 +0000 (03:07 +0000)]
Auto merge of #103205 - spastorino:fix-rpits-lifetime-remapping, r=cjgillot

Do anonymous lifetimes remapping correctly for nested rpits

Closes #103141

r? `@cjgillot` `@nikomatsakis`

This fixes a stable to stable regression that in my opinion is `P-critical` so, we probably want to backport it all the way up to stable.

20 months agoAdjusting test to needs-unwind, with linking issue
Andrew Pollack [Wed, 19 Oct 2022 19:02:55 +0000 (19:02 +0000)]
Adjusting test to needs-unwind, with linking issue

20 months agoAuto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726
bors [Thu, 20 Oct 2022 00:22:17 +0000 (00:22 +0000)]
Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726

Require lifetime bounds for opaque types in order to allow hidden types to capture said lifetimes

fixes #96996

cc `@aliemjay`

20 months agoErase regions before checking for default in uninitialized binding error
Michael Goulet [Wed, 19 Oct 2022 23:35:47 +0000 (23:35 +0000)]
Erase regions before checking for default in uninitialized binding error

20 months agoRemove extra spaces
clubby789 [Wed, 19 Oct 2022 22:54:00 +0000 (23:54 +0100)]
Remove extra spaces

20 months agoAuto merge of #103264 - matthiaskrgr:rollup-3ja4spo, r=matthiaskrgr
bors [Wed, 19 Oct 2022 21:17:09 +0000 (21:17 +0000)]
Auto merge of #103264 - matthiaskrgr:rollup-3ja4spo, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #103211 (rustdoc: remove class name `location` from sidebar sibling nav)
 - #103223 (Use already checked RHS ty for LHS deref suggestions)
 - #103237 (Clean up codeblock-tooltip rustdoc-gui test)
 - #103239 (Allow #[unstable] impls for fn() with unstable abi.)
 - #103246 (Mark `rust-analyzer` as a host-only tool)
 - #103257 (rustdoc: move `setting-line` color CSS to settings.css)
 - #103258 (Make miri read_dir test a little more robust)

Failed merges:

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

20 months agorustdoc: remove no-op CSS `nav.sub { font-size: 1rem }`
Michael Howell [Wed, 19 Oct 2022 20:57:39 +0000 (13:57 -0700)]
rustdoc: remove no-op CSS `nav.sub { font-size: 1rem }`

This rule originated as a `font-size: 16px`, when body had `font-size: 13px`
set in 4fd061c426902b0904c65e64a3780b21f9ab3afb.

It remained even when body's font size was bumped up to 16px,
4d5f4ff5e9297dcad21612f9dd20ae4598b5b7e2, making the rule a no-op, and was
carried forward when it was converted to 1rem in
cc18120425a5c571a968d850c75cc935a8321136.

20 months agoDo anonymous lifetimes remapping correctly for nested rpits
Santiago Pastorino [Tue, 18 Oct 2022 17:05:17 +0000 (14:05 -0300)]
Do anonymous lifetimes remapping correctly for nested rpits

20 months agoExtract orig_opt_local_def_id as a function
Santiago Pastorino [Wed, 19 Oct 2022 19:49:21 +0000 (16:49 -0300)]
Extract orig_opt_local_def_id as a function

20 months agoRollup merge of #103258 - SUPERCILEX:miri, r=RalfJung
Matthias Krüger [Wed, 19 Oct 2022 19:38:42 +0000 (21:38 +0200)]
Rollup merge of #103258 - SUPERCILEX:miri, r=RalfJung

Make miri read_dir test a little more robust

r? `@RalfJung`

20 months agoRollup merge of #103257 - notriddle:notriddle/setting-line, r=GuillaumeGomez
Matthias Krüger [Wed, 19 Oct 2022 19:38:42 +0000 (21:38 +0200)]
Rollup merge of #103257 - notriddle:notriddle/setting-line, r=GuillaumeGomez

rustdoc: move `setting-line` color CSS to settings.css

20 months agoRollup merge of #103246 - ferrocene:pa-rust-analyzer-hosts, r=Mark-Simulacrum
Matthias Krüger [Wed, 19 Oct 2022 19:38:41 +0000 (21:38 +0200)]
Rollup merge of #103246 - ferrocene:pa-rust-analyzer-hosts, r=Mark-Simulacrum

Mark `rust-analyzer` as a host-only tool

All tools meant to be shipped with host toolchains only should be marked as `ONLY_HOSTS = true`, but rust-analyzer was marked as `ONLY_HOSTS = false` incorrectly. This meant that bootstrap attempted to build rust-analyzer for cross-compilation-only targets, causing errors because libstd is not present on some of them.

It will still be possible to cross-compile rust-analyzer by passing a different `--host` flag to `./x`, like you can cross-compile other tools.

The problem can be reproduced by running:

```
./x build src/tools/rust-analyzer --target x86_64-unknown-linux-gnu,aarch64-unknown-none
```

20 months agoRollup merge of #103239 - m-ou-se:unstable-abi-fn-impl-check, r=lcnr
Matthias Krüger [Wed, 19 Oct 2022 19:38:41 +0000 (21:38 +0200)]
Rollup merge of #103239 - m-ou-se:unstable-abi-fn-impl-check, r=lcnr

Allow #[unstable] impls for fn() with unstable abi.

This allows `#[unstable]` trait impls for `extern "unwind-C" fn()`, based on the fact that that abi and therefore that type is unstable.

See https://github.com/rust-lang/rust/pull/101263#issuecomment-1283099947

20 months agoRollup merge of #103237 - GuillaumeGomez:codeblock-tooltip-cleanup, r=notriddle
Matthias Krüger [Wed, 19 Oct 2022 19:38:40 +0000 (21:38 +0200)]
Rollup merge of #103237 - GuillaumeGomez:codeblock-tooltip-cleanup, r=notriddle

Clean up codeblock-tooltip rustdoc-gui test

r? ``@notriddle``

20 months agoRollup merge of #103223 - compiler-errors:deref-sugg-slow, r=wesleywiser
Matthias Krüger [Wed, 19 Oct 2022 19:38:40 +0000 (21:38 +0200)]
Rollup merge of #103223 - compiler-errors:deref-sugg-slow, r=wesleywiser

Use already checked RHS ty for LHS deref suggestions

There's no reason to do the `check_lhs_assignable` and RHS `check_expr_with_hint` in that order, so invert them and use the typeck results to avoid exponential blowup on error.

Fixes #103219

20 months agoRollup merge of #103211 - notriddle:notriddle/dot-location, r=GuillaumeGomez
Matthias Krüger [Wed, 19 Oct 2022 19:38:39 +0000 (21:38 +0200)]
Rollup merge of #103211 - notriddle:notriddle/dot-location, r=GuillaumeGomez

rustdoc: remove class name `location` from sidebar sibling nav

Preview: https://notriddle.com/notriddle-rustdoc-demos/sidebar-location/std/vec/struct.Vec.html

This change tweaks the CSS to apply most of its styles to `.sidebar h2`, cleaning up a few redundant rules from `.mobile-topbar .location` and restoring useful navigation aids in mobile mode.

## Before

![location-before](https://user-images.githubusercontent.com/1593513/196521014-d8730830-c3a2-4ed7-9266-05454cd31e05.png)

## After

![location-after](https://user-images.githubusercontent.com/1593513/196521020-75ec1fa5-b3dc-4c5d-97b6-afccb5fbe00a.png)

20 months agoAdd regression test for item-decl highlighting
Guillaume Gomez [Wed, 19 Oct 2022 15:15:11 +0000 (17:15 +0200)]
Add regression test for item-decl highlighting

20 months agoMake miri read_dir test a little more robust
Alex Saveau [Wed, 19 Oct 2022 17:43:57 +0000 (10:43 -0700)]
Make miri read_dir test a little more robust

Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
20 months agoDeny const variables as well
Michael Goulet [Wed, 19 Oct 2022 17:10:19 +0000 (17:10 +0000)]
Deny const variables as well

20 months agoDon't call `own_existential_vtable_entries` on unresolved trait ref
Michael Goulet [Wed, 19 Oct 2022 01:27:32 +0000 (01:27 +0000)]
Don't call `own_existential_vtable_entries` on unresolved trait ref

20 months agoMake ClosureOutlivesRequirement not rely on an unresolved type
Michael Goulet [Wed, 19 Oct 2022 01:20:24 +0000 (01:20 +0000)]
Make ClosureOutlivesRequirement not rely on an unresolved type

20 months agoDon't hash non-fresh Ty::Infer or RegionKind::Infer
Michael Goulet [Wed, 19 Oct 2022 00:19:28 +0000 (00:19 +0000)]
Don't hash non-fresh Ty::Infer or RegionKind::Infer

20 months agorustdoc: move `setting-line` color CSS to settings.css
Michael Howell [Wed, 19 Oct 2022 16:24:09 +0000 (09:24 -0700)]
rustdoc: move `setting-line` color CSS to settings.css

20 months agoFix regression in item-decl highlighting
Guillaume Gomez [Wed, 19 Oct 2022 15:14:50 +0000 (17:14 +0200)]
Fix regression in item-decl highlighting

20 months agoAuto merge of #103214 - Nilstrieb:set-theory, r=petrochenkov
bors [Wed, 19 Oct 2022 13:53:06 +0000 (13:53 +0000)]
Auto merge of #103214 - Nilstrieb:set-theory, r=petrochenkov

Use Set instead of Vec in transitive_relation

Helps with #103195. It doesn't fix the underlying quadraticness but it makes it _a lot_ faster to an extent where even doubling the amount of nested references still takes less than two seconds (50s on nightly).

I want to see whether this causes regressions (because the vec was usually quite small) or improvements (as lookup for bigger sets is now much faster) in real code.

20 months agoAdd testcase for next_point, fix more trivial issues in find_width_of_character_at_span
yukang [Wed, 19 Oct 2022 03:46:26 +0000 (11:46 +0800)]
Add testcase for next_point, fix more trivial issues in find_width_of_character_at_span

20 months agomark rust-analyzer as a host-only tool
Pietro Albini [Wed, 19 Oct 2022 12:33:17 +0000 (14:33 +0200)]
mark rust-analyzer as a host-only tool

All tools meant to be shipped with host toolchains only should be marked
as `ONLY_HOSTS = true`, but rust-analyzer was marked as `ONLY_HOSTS =
false` incorrectly. This meant that bootstrap attempted to build
rust-analyzer for cross-compilation-only targets, causing errors because
libstd is not present on some of them.

It will still be possible to cross-compile rust-analyzer by passing a
different --host flag to ./x, like you can cross-compile other tools.

20 months agoAllow #[unstable] impl for fn() -> UnstableType.
Mara Bos [Wed, 19 Oct 2022 11:33:45 +0000 (13:33 +0200)]
Allow #[unstable] impl for fn() -> UnstableType.

(But not fn() -> !, which is stable.)

20 months agoAdd test for #[unstable] impl for fn() -> !.
Mara Bos [Wed, 19 Oct 2022 11:25:37 +0000 (13:25 +0200)]
Add test for #[unstable] impl for fn() -> !.

20 months agoAuto merge of #103228 - Dylan-DPC:rollup-31yiauw, r=Dylan-DPC
bors [Wed, 19 Oct 2022 11:12:10 +0000 (11:12 +0000)]
Auto merge of #103228 - Dylan-DPC:rollup-31yiauw, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #102863 (Standardize "use parentheses to call" suggestions between typeck and trait selection)
 - #103034 (Let expressions on RHS shouldn't be terminating scopes)
 - #103127 (Make transpose const and inline)
 - #103153 (Allow `Vec::leak` when using `no_global_oom_handling`)
 - #103182 (Clean up query descriptions)
 - #103216 (Consider patterns in fn params in an `Elided(Infer)` lifetime rib.)

Failed merges:

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

20 months agoUse Set instead of Vec in transitive_relation
nils [Tue, 18 Oct 2022 20:13:26 +0000 (22:13 +0200)]
Use Set instead of Vec in transitive_relation

20 months agoAdd test.
Mara Bos [Wed, 19 Oct 2022 10:41:56 +0000 (12:41 +0200)]
Add test.

20 months agoAllow #[unstable] impls for fn() with unstable abi.
Mara Bos [Wed, 19 Oct 2022 10:41:35 +0000 (12:41 +0200)]
Allow #[unstable] impls for fn() with unstable abi.

20 months agoSplit is_stable from rustc_target::spec::abi::is_enabled.
Mara Bos [Wed, 19 Oct 2022 10:41:11 +0000 (12:41 +0200)]
Split is_stable from rustc_target::spec::abi::is_enabled.

20 months agoClean up codeblock-tooltip rustdoc-gui test
Guillaume Gomez [Wed, 19 Oct 2022 10:01:59 +0000 (12:01 +0200)]
Clean up codeblock-tooltip rustdoc-gui test

20 months agoUpdate browser-ui-test version to 0.12.7
Guillaume Gomez [Wed, 19 Oct 2022 09:08:13 +0000 (11:08 +0200)]
Update browser-ui-test version to 0.12.7

20 months agoRollup merge of #103216 - cjgillot:issue-103210, r=jackh726
Dylan DPC [Wed, 19 Oct 2022 08:35:54 +0000 (14:05 +0530)]
Rollup merge of #103216 - cjgillot:issue-103210, r=jackh726

Consider patterns in fn params in an `Elided(Infer)` lifetime rib.

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

20 months agoRollup merge of #103182 - Nilstrieb:query-desc-cleanup, r=oli-obk
Dylan DPC [Wed, 19 Oct 2022 08:35:53 +0000 (14:05 +0530)]
Rollup merge of #103182 - Nilstrieb:query-desc-cleanup, r=oli-obk

Clean up query descriptions

Use the same tense everywhere and prefer display over debug, as these descriptions are user facing.

20 months agoRollup merge of #103153 - ChrisDenton:leak-oom, r=m-ou-se
Dylan DPC [Wed, 19 Oct 2022 08:35:53 +0000 (14:05 +0530)]
Rollup merge of #103153 - ChrisDenton:leak-oom, r=m-ou-se

Allow `Vec::leak` when using `no_global_oom_handling`

As [the documentation notes](https://doc.rust-lang.org/std/vec/struct.Vec.html#method.leak), `Vec::leak` hasn't allocated since 1.57.

cc `@Ericson2314` in case I'm missing something.

20 months agoRollup merge of #103127 - SUPERCILEX:inline-const-uninit, r=scottmcm
Dylan DPC [Wed, 19 Oct 2022 08:35:52 +0000 (14:05 +0530)]
Rollup merge of #103127 - SUPERCILEX:inline-const-uninit, r=scottmcm

Make transpose const and inline

r? `@scottmcm`

- These should have been const from the beginning since we're never going to do more than a transmute.
- Inline these always because that's what every other method in MaybeUninit which simply casts does. :) Ok, but a stronger justification is that because we're taking in arrays by `self`, not inlining would defeat the whole purpose of using `MaybeUninit` due to the copying.

20 months agoRollup merge of #103034 - nathanwhit:let-chains-rhs-temporaries, r=wesleywiser
Dylan DPC [Wed, 19 Oct 2022 08:35:52 +0000 (14:05 +0530)]
Rollup merge of #103034 - nathanwhit:let-chains-rhs-temporaries, r=wesleywiser

Let expressions on RHS shouldn't be terminating scopes

Fixes #100276.

Before this PR, we were unconditionally marking the RHS of short-circuiting binary expressions as a terminating scope.

In the case of a let chain where the `let` expression was on the RHS, this meant that temporaries within the `let` expr would only live until the end of the expression. Since this only affected the RHS, this led to surprising behavior ([example](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=d1b0a5d1f01882f9c89c2194a75eb19f)).

After this PR, we only mark the RHS as a terminating scope if it is not a `let` expression.

20 months agoRollup merge of #102863 - compiler-errors:call-suggestion-on-unimplemented, r=nagisa
Dylan DPC [Wed, 19 Oct 2022 08:35:51 +0000 (14:05 +0530)]
Rollup merge of #102863 - compiler-errors:call-suggestion-on-unimplemented, r=nagisa

Standardize "use parentheses to call" suggestions between typeck and trait selection

1. Suggest calling constructors, since they're basically `FnDef`s but they have a different def kind and hir representation, so we were leaving them out.
2. Standardize the call suggestions between trait fulfillment errors and type mismatch. In the type mismatch suggestion, we suggest `/* Ty */` as the placeholder for an arg, and not the parameter's name, which is less helpful.
3. Use `predicate_must_hold_modulo_regions` instead of matching on `EvaluationResult` -- this might cause some suggestions to be filtered out, but we really shouldn't be suggesting a call if it "may" hold, only when it "must" hold.
4. Borrow some logic from `extract_callable_info` to generalize this suggestion to fn pointers, type parameters, and opaque types.

Fixes #102852

20 months agoAuto merge of #103180 - ferrocene:pa-qemu-user-mode, r=Mark-Simulacrum
bors [Wed, 19 Oct 2022 08:26:55 +0000 (08:26 +0000)]
Auto merge of #103180 - ferrocene:pa-qemu-user-mode, r=Mark-Simulacrum

Handle core dumps output in QEMU user mode

In addition to the whole-system emulation/virtualization, QEMU also supports user-mode emulation, where the emulation happens as a normal process inside the parent system. This allows running most tests by simply spawning remote-test-server inside user-mode emulation.

Unfortunately, QEMU always writes its own message in addition to the system one when a core dump happens, which breaks a few tests which match on the exact output of the system.

This PR changes those tests to strip the (possible) QEMU output before checking if the output is expected.

20 months agoAdd a comment to `Compiler`.
Nicholas Nethercote [Tue, 11 Oct 2022 00:43:25 +0000 (11:43 +1100)]
Add a comment to `Compiler`.

It took me a while to work this out.

20 months agoClarify `run_in_thread_pool_with_globals`.
Nicholas Nethercote [Sun, 9 Oct 2022 23:50:14 +0000 (10:50 +1100)]
Clarify `run_in_thread_pool_with_globals`.

- Make the structure of the two variants more similar.
- Add some comments.
- Move various conditional `use` items inside the function that uses
  them.
- Inline some closures.

20 months agoAuto merge of #103225 - matthiaskrgr:rollup-1zkv87y, r=matthiaskrgr
bors [Wed, 19 Oct 2022 05:41:14 +0000 (05:41 +0000)]
Auto merge of #103225 - matthiaskrgr:rollup-1zkv87y, r=matthiaskrgr

Rollup of 4 pull requests

Successful merges:

 - #103166 (Optimize `slice_iter.copied().next_chunk()`)
 - #103176 (Fix `TyKind::is_simple_path`)
 - #103178 (Partially fix `src/test/run-make/coverage-reports` when cross-compiling)
 - #103198 (Update cargo)

Failed merges:

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

20 months agoRollup merge of #103198 - weihanglo:update-cargo, r=ehuss
Matthias Krüger [Wed, 19 Oct 2022 05:15:32 +0000 (07:15 +0200)]
Rollup merge of #103198 - weihanglo:update-cargo, r=ehuss

Update cargo

6 commits in b332991a57c9d055f1864de1eed93e2178d49440..3ff044334f0567ce1481c78603aeee7211b91623 2022-10-13 22:05:28 +0000 to 2022-10-17 20:25:00 +0000
- Some tiny refactors around `ops::cargo_compile` (rust-lang/cargo#11243)
- Polish docs for module `build_context` (rust-lang/cargo#11241)
- Remove sparse+ prefix for index.crates.io (rust-lang/cargo#11247)
- docs(add): Add missing flags to reference (rust-lang/cargo#11240)
- Document `cargo remove` (rust-lang/cargo#11227)
- fix: Update help headings to  match clap (rust-lang/cargo#11239)

20 months agoRollup merge of #103178 - ferrocene:pa-coverage-reports-tests, r=Mark-Simulacrum
Matthias Krüger [Wed, 19 Oct 2022 05:15:31 +0000 (07:15 +0200)]
Rollup merge of #103178 - ferrocene:pa-coverage-reports-tests, r=Mark-Simulacrum

Partially fix `src/test/run-make/coverage-reports` when cross-compiling

The test does not work on cross-compiled targets because the --target flag was not passed to rustc inside the test. This commit fixes that by adding the flag to the invocations.

Note that the test still fails on cross-compiled targets using remote-test, as remote-test is not capable (yet) of sending back to the host system the `*.profraw` file generated by the instrumentation.

Because of that, this is only a partial fix, and the test has been ignored on cross-compilation.

20 months agoRollup merge of #103176 - nnethercote:fix-TyKind-is_simple_path, r=spastorino
Matthias Krüger [Wed, 19 Oct 2022 05:15:31 +0000 (07:15 +0200)]
Rollup merge of #103176 - nnethercote:fix-TyKind-is_simple_path, r=spastorino

Fix `TyKind::is_simple_path`

Fixes #103157.

r? `@spastorino`

20 months agoRollup merge of #103166 - the8472:copied-next-chunk, r=m-ou-se
Matthias Krüger [Wed, 19 Oct 2022 05:15:30 +0000 (07:15 +0200)]
Rollup merge of #103166 - the8472:copied-next-chunk, r=m-ou-se

Optimize `slice_iter.copied().next_chunk()`

```
OLD:
test iter::bench_copied_array_chunks                               ... bench:         371 ns/iter (+/- 7)
NEW:
test iter::bench_copied_array_chunks                               ... bench:          31 ns/iter (+/- 0)
```

The default `next_chunk` implementation suffers from having to assemble the array byte by byte via `next()`, checking the `Option<&T>` and then dereferencing `&T`. The specialization copies the chunk directly from the slice.

20 months agoUse already checked RHS ty for LHS deref suggestions
Michael Goulet [Wed, 19 Oct 2022 04:19:45 +0000 (04:19 +0000)]
Use already checked RHS ty for LHS deref suggestions

20 months agoinstantiate -> construct
Michael Goulet [Wed, 19 Oct 2022 02:53:47 +0000 (02:53 +0000)]
instantiate -> construct

20 months agoAuto merge of #103213 - matthiaskrgr:rollup-diloxg3, r=matthiaskrgr
bors [Wed, 19 Oct 2022 02:53:24 +0000 (02:53 +0000)]
Auto merge of #103213 - matthiaskrgr:rollup-diloxg3, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #101889 (doc: rewrite doc for uint::{carrying_add,borrowing_sub})
 - #102507 (More slice::partition_point examples)
 - #103164 (rustdoc: remove CSS ``@media` (min-width: 701px)`)
 - #103189 (Clean up code-color and headers-color rustdoc GUI tests)
 - #103203 (Retrieve LLVM version from llvm-filecheck binary if it is not set yet)
 - #103204 (Add some more autolabels)

Failed merges:

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

20 months agofix `SelfVisitor::is_self_ty` ICE
Takayuki Maeda [Wed, 19 Oct 2022 02:17:46 +0000 (11:17 +0900)]
fix `SelfVisitor::is_self_ty` ICE

20 months agoGeneralize call suggestion for unsatisfied predicate
Michael Goulet [Sun, 9 Oct 2022 22:25:52 +0000 (22:25 +0000)]
Generalize call suggestion for unsatisfied predicate

20 months agoStandardize arg suggestions between typeck and trait selection
Michael Goulet [Sun, 9 Oct 2022 21:39:57 +0000 (21:39 +0000)]
Standardize arg suggestions between typeck and trait selection

20 months agoUse predicate_must_hold_modulo_regions
Michael Goulet [Sun, 9 Oct 2022 21:06:59 +0000 (21:06 +0000)]
Use predicate_must_hold_modulo_regions

20 months agoSuggest calling ctor when trait is unimplemented
Michael Goulet [Sun, 9 Oct 2022 21:02:12 +0000 (21:02 +0000)]
Suggest calling ctor when trait is unimplemented

20 months agoAuto merge of #102769 - nnethercote:rustdoc-startup, r=jyn514
bors [Wed, 19 Oct 2022 00:02:40 +0000 (00:02 +0000)]
Auto merge of #102769 - nnethercote:rustdoc-startup, r=jyn514

Clean up rustdoc startup

Startup is pretty hairy, in both rustdoc and rustc. The first commit here improves the rustdoc situation quite a bit. The remaining commits are smaller but also help.

Best reviewed one commit at a time.

r? `@jyn514`

20 months agospecialize slice_iter.copied().next_chunk()
The 8472 [Mon, 17 Oct 2022 20:49:32 +0000 (22:49 +0200)]
specialize slice_iter.copied().next_chunk()

20 months agoConsider patterns in fn params in an `Elided(Infer)` lifetime rib.
Camille GILLOT [Tue, 18 Oct 2022 20:53:24 +0000 (20:53 +0000)]
Consider patterns in fn params in an `Elided(Infer)` lifetime rib.

20 months agoAvoid cloning `RenderOptions`.
Nicholas Nethercote [Sun, 16 Oct 2022 23:51:40 +0000 (10:51 +1100)]
Avoid cloning `RenderOptions`.

By moving `RenderOptions` out of `Option`, because the two structs' uses
are almost entirely separate.

The only complication is that `unstable_features` is needed in both
structs, but it's a tiny `Copy` type so its duplication seems fine.

20 months agoUse `interface::run_compiler` for `markdown::render`.
Nicholas Nethercote [Sun, 16 Oct 2022 23:19:46 +0000 (10:19 +1100)]
Use `interface::run_compiler` for `markdown::render`.

It turns out `markdown::render` is more complex than it first appears,
because it can invoke `doctest::make_test`, which requires session
globals and a thread pool.

So this commit changes it to use `interface::run_compiler`. Three of the
four paths in `main_args` now use `interface::run_compiler`.

20 months agoReplace a `spawn_unchecked` with `spawn_scoped`.
Nicholas Nethercote [Fri, 7 Oct 2022 20:43:15 +0000 (07:43 +1100)]
Replace a `spawn_unchecked` with `spawn_scoped`.