]> git.lizzy.rs Git - rust.git/log
rust.git
19 months agoAuto merge of #103832 - Dylan-DPC:rollup-maw3kmx, r=Dylan-DPC
bors [Tue, 1 Nov 2022 09:01:12 +0000 (09:01 +0000)]
Auto merge of #103832 - Dylan-DPC:rollup-maw3kmx, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #103061 (Rewrite implementation of `#[alloc_error_handler]`)
 - #103584 (Remove bounds check when array is indexed by enum)
 - #103706 (Fix E0433 No Typo Suggestions)
 - #103729 (interpret: fix align_of_val on packed types)
 - #103759 (Use `adt_def` during type collection.)
 - #103809 (Fix a typo in std::net mod doc comment)

Failed merges:

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

19 months agoRollup merge of #103809 - tyggja:patch-1, r=JohnTitor
Dylan DPC [Tue, 1 Nov 2022 08:42:27 +0000 (14:12 +0530)]
Rollup merge of #103809 - tyggja:patch-1, r=JohnTitor

Fix a typo in std::net mod doc comment

net-doc syntax

19 months agoRollup merge of #103759 - cjgillot:adt-collect, r=davidtwco
Dylan DPC [Tue, 1 Nov 2022 08:42:27 +0000 (14:12 +0530)]
Rollup merge of #103759 - cjgillot:adt-collect, r=davidtwco

Use `adt_def` during type collection.

This removes a wrapper which is close to what `adt_def` does.

19 months agoRollup merge of #103729 - RalfJung:align-of-val-packed, r=oli-obk
Dylan DPC [Tue, 1 Nov 2022 08:42:26 +0000 (14:12 +0530)]
Rollup merge of #103729 - RalfJung:align-of-val-packed, r=oli-obk

interpret: fix align_of_val on packed types

Fixes https://github.com/rust-lang/miri/issues/2632

r? `@oli-obk`

19 months agoRollup merge of #103706 - zbyrn:issue-101637-fix, r=estebank
Dylan DPC [Tue, 1 Nov 2022 08:42:26 +0000 (14:12 +0530)]
Rollup merge of #103706 - zbyrn:issue-101637-fix, r=estebank

Fix E0433 No Typo Suggestions

Fixes #48676
Fixes #87791
Fixes #96625
Fixes #95462
Fixes #101637
Follows up PR #72923

Several open issues refer to the problem that E0433 does not suggest typos like other errors normally do. This fix augments the implementation of PR #72923.

**Background**
When the path of a function call, e.g. `Struct::foo()`, involves names that cannot be resolved, there are two errors that could be emitted by the compiler:
 - If `Struct` is not found, it is ``E0433: failed to resolve: use of undeclared type `Struct` ``.
 - If `foo` is not found in `Struct`, it is ``E0599: no function or associated item named `foo` found for struct `Struct` in the current scope``

When a name is used as a type, `e.g. fn foo() -> Struct`, and the name cannot be resolved, it is ``E0412: cannot find type `Struct` in this scope``.

Before #72923, `E0433` does not implement any suggestions, and the PR introduces suggestions for missing `use`s. When a resolution error occurs in the path of a function call, it tries to smart resolve just the type part of the path, e.g. `module::Struct` of a call to `module::Struct::foo()`. However, along with the suggestions, the smart-resolve function will report `E0412` since it only knows that it is a type that we cannot resolve instead of being a part of the path. So, the original implementation swap out `E0412` errors returned by the smart-resolve function with the real `E0433` error, but keeps the "missing `use`" suggestions to be reported to the programmer.

**Issue**
The current implementation only reports if there are "missing `use`" suggestions returned by the smart-resolve function; otherwise, it would fall back the normal reporting, which does not emit suggestions. But the smart-resolve function could also produce typo suggestions, which are omitted currently.

Also, it seems like that not all info has been swapped out when there are missing suggestions. The error message underlining the name in the snippet still says ``not found in this scope``, which is a `E0412` messages, if there are `use` suggestions, but says the normal `use of undeclared type` otherwise.

**Fixes**
This fix swaps out all fields in `Diagnostic` returned by the smart-resolve function except for `suggestions` with the current error, and merges the `suggestions` of the returned error and that of the current error together. If there are `use` suggestions, the error is saved to `use_injection` to be reported at the end; otherwise, the error is emitted immediately as `Resolver::report_error` does.

Some tests are updated to use the correct underlining error messages, and one additional test for typo suggestion is added to the test suite.

r? rust-lang/diagnostics

19 months agoRollup merge of #103584 - ouz-a:issue-102303, r=oli-obk
Dylan DPC [Tue, 1 Nov 2022 08:42:25 +0000 (14:12 +0530)]
Rollup merge of #103584 - ouz-a:issue-102303, r=oli-obk

Remove bounds check when array is indexed by enum

As the title says, this reverts the behavior introduced with 1.64.

Fixes #102303

r? `@oli-obk`

19 months agoRollup merge of #103061 - Amanieu:rewrite_alloc_error_handler, r=bjorn3
Dylan DPC [Tue, 1 Nov 2022 08:42:25 +0000 (14:12 +0530)]
Rollup merge of #103061 - Amanieu:rewrite_alloc_error_handler, r=bjorn3

Rewrite implementation of `#[alloc_error_handler]`

The new implementation doesn't use weak lang items and instead changes `#[alloc_error_handler]` to an attribute macro just like `#[global_allocator]`.

The attribute will generate the `__rg_oom` function which is called by the compiler-generated `__rust_alloc_error_handler`. If no `__rg_oom` function is defined in any crate then the compiler shim will call `__rdl_oom` in the alloc crate which will simply panic.

This also fixes link errors with `-C link-dead-code` with `default_alloc_error_handler`: `__rg_oom` was previously defined in the alloc crate and would attempt to reference the `oom` lang item, even if it didn't exist. This worked as long as `__rg_oom` was excluded from linking since it was not called.

This is a prerequisite for the stabilization of `default_alloc_error_handler` (#102318).

19 months agoAuto merge of #103829 - JohnTitor:rollup-o03nzr8, r=JohnTitor
bors [Tue, 1 Nov 2022 05:34:00 +0000 (05:34 +0000)]
Auto merge of #103829 - JohnTitor:rollup-o03nzr8, r=JohnTitor

Rollup of 10 pull requests

Successful merges:

 - #103007 (Add better python discovery)
 - #103674 (Update note about unstable split-debuginfo flag.)
 - #103692 (Add `walk_generic_arg`)
 - #103749 (Reduce span of let else irrefutable_let_patterns warning)
 - #103772 (better error for `rustc_strict_coherence` misuse)
 - #103788 (Fix ICE in checking transmutability of NaughtyLenArray)
 - #103793 (rustdoc: add margins to all impl-item toggles, not just methods)
 - #103798 (interpret: move type_name implementation to an interpreter-independent helper file)
 - #103799 (Remove generation of tuple struct fields in the search index)
 - #103805 (Enable RUSTC_BOOTSTRAP for a few steps)

Failed merges:

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

19 months agoRollup merge of #103805 - Mark-Simulacrum:forward-port, r=jyn514
Yuki Okushi [Tue, 1 Nov 2022 03:03:44 +0000 (12:03 +0900)]
Rollup merge of #103805 - Mark-Simulacrum:forward-port, r=jyn514

Enable RUSTC_BOOTSTRAP for a few steps

This forward-ports this commit so we don't need to keep applying it when branching beta (as done in 1.64, 1.65, and 1.66 beta bumps).

19 months agoRollup merge of #103799 - GuillaumeGomez:search-index-tuple-struct-field, r=notriddle
Yuki Okushi [Tue, 1 Nov 2022 03:03:44 +0000 (12:03 +0900)]
Rollup merge of #103799 - GuillaumeGomez:search-index-tuple-struct-field, r=notriddle

Remove generation of tuple struct fields in the search index

This comes from [this discussion](https://github.com/rust-lang/rust/pull/103710) as they're not very useful.

r? `@notriddle`

19 months agoRollup merge of #103798 - RalfJung:type_name, r=oli-obk
Yuki Okushi [Tue, 1 Nov 2022 03:03:43 +0000 (12:03 +0900)]
Rollup merge of #103798 - RalfJung:type_name, r=oli-obk

interpret: move type_name implementation to an interpreter-independent helper file

This should avoid pinging rust-lang/miri each time that file changes, which is really not necessary.

r? `@oli-obk`

19 months agoRollup merge of #103793 - notriddle:notriddle/rustdoc-toggle-in-impl-items, r=Guillau...
Yuki Okushi [Tue, 1 Nov 2022 03:03:43 +0000 (12:03 +0900)]
Rollup merge of #103793 - notriddle:notriddle/rustdoc-toggle-in-impl-items, r=GuillaumeGomez

rustdoc: add margins to all impl-item toggles, not just methods

Fixes #103782

## Before

![image](https://user-images.githubusercontent.com/1593513/198943087-8cab8b25-2092-49d6-89b4-caa2989dedf0.png)

## After

![image](https://user-images.githubusercontent.com/1593513/198943111-bc08c2d6-f058-4362-b999-0caf09eb93bf.png)

19 months agoRollup merge of #103788 - chenyukang:yukang/fix-ice-103783, r=compiler-errors
Yuki Okushi [Tue, 1 Nov 2022 03:03:42 +0000 (12:03 +0900)]
Rollup merge of #103788 - chenyukang:yukang/fix-ice-103783, r=compiler-errors

Fix ICE in checking transmutability of NaughtyLenArray

Fixes #103783

19 months agoRollup merge of #103772 - compiler-errors:better-strict-coherence-err, r=davidtwco
Yuki Okushi [Tue, 1 Nov 2022 03:03:42 +0000 (12:03 +0900)]
Rollup merge of #103772 - compiler-errors:better-strict-coherence-err, r=davidtwco

better error for `rustc_strict_coherence` misuse

Fixes #103753

19 months agoRollup merge of #103749 - est31:reduce_irrefutable_let_else_span, r=cjgillot
Yuki Okushi [Tue, 1 Nov 2022 03:03:41 +0000 (12:03 +0900)]
Rollup merge of #103749 - est31:reduce_irrefutable_let_else_span, r=cjgillot

Reduce span of let else irrefutable_let_patterns warning

Huge spans aren't good for IDE users as they underline constructs that are possibly multiline.

Similar PR to #90761 which did the same for the `unused_macros` lint.

19 months agoRollup merge of #103692 - smoelius:walk_generic_arg, r=fee1-dead
Yuki Okushi [Tue, 1 Nov 2022 03:03:41 +0000 (12:03 +0900)]
Rollup merge of #103692 - smoelius:walk_generic_arg, r=fee1-dead

Add `walk_generic_arg`

Could this please be added?

I could use it for a Clippy lint.

19 months agoRollup merge of #103674 - ehuss:split-debuginfo-doc-unstable, r=davidtwco
Yuki Okushi [Tue, 1 Nov 2022 03:03:40 +0000 (12:03 +0900)]
Rollup merge of #103674 - ehuss:split-debuginfo-doc-unstable, r=davidtwco

Update note about unstable split-debuginfo flag.

split-debuginfo was effectively stabilized in #98051. The note about it requiring `-Z unstable-options` is no longer accurate.

The rules for when it is gated and when it is supported are somewhat complex. I considered removing the note entirely, or making it more generic, but opted to instead try to summarize the current state.

19 months agoRollup merge of #103007 - albertlarsan68:better-python-discovery, r=jyn514
Yuki Okushi [Tue, 1 Nov 2022 03:03:40 +0000 (12:03 +0900)]
Rollup merge of #103007 - albertlarsan68:better-python-discovery, r=jyn514

Add better python discovery

The Microsoft Store version of Python installs itself as `pythonM.m`, with `M` being the major version and `m` the minor.

The `x.ps1` script will now search for python executables whose command matches the regex `python\d`.
The `\d` at the end is to protect from using the `pythonw` versions, which do not work as standard python.

19 months agoAuto merge of #102950 - oli-obk:check_miri, r=RalfJung
bors [Mon, 31 Oct 2022 23:03:39 +0000 (23:03 +0000)]
Auto merge of #102950 - oli-obk:check_miri, r=RalfJung

Enable `x.py check` for miri

Now that the miri subtree is working properly, let's add it to x.py check.

cc `@rust-lang/miri`

19 months agoAuto merge of #103795 - thomcc:untest, r=Mark-Simulacrum
bors [Mon, 31 Oct 2022 18:50:06 +0000 (18:50 +0000)]
Auto merge of #103795 - thomcc:untest, r=Mark-Simulacrum

Include both benchmarks and tests in the numbers given to `TeFiltered{,Out}`

Fixes #103794

`#[bench]` is broken on nightly without this, sadly. It apparently has no test coverage. In addition to manually testing, I've added a run-make smokecheck for this (which would have caught the issue), but it would be nice to have a better way to test, err, libtest. For now we should get this in ASAP IMO

19 months agoRewrite implementation of `#[alloc_error_handler]`
Amanieu d'Antras [Fri, 14 Oct 2022 01:24:58 +0000 (02:24 +0100)]
Rewrite implementation of `#[alloc_error_handler]`

The new implementation doesn't use weak lang items and instead changes
`#[alloc_error_handler]` to an attribute macro just like
`#[global_allocator]`.

The attribute will generate the `__rg_oom` function which is called by
the compiler-generated `__rust_alloc_error_handler`. If no `__rg_oom`
function is defined in any crate then the compiler shim will call
`__rdl_oom` in the alloc crate which will simply panic.

This also fixes link errors with `-C link-dead-code` with
`default_alloc_error_handler`: `__rg_oom` was previously defined in the
alloc crate and would attempt to reference the `oom` lang item, even if
it didn't exist. This worked as long as `__rg_oom` was excluded from
linking since it was not called.

This is a prerequisite for the stabilization of
`default_alloc_error_handler` (#102318).

19 months agoUpdate mod.rs
tyggja [Mon, 31 Oct 2022 16:17:30 +0000 (12:17 -0400)]
Update mod.rs

19 months agoEnable RUSTC_BOOTSTRAP for a few steps
Mark Rousskov [Mon, 8 Aug 2022 13:36:42 +0000 (09:36 -0400)]
Enable RUSTC_BOOTSTRAP for a few steps

19 months agorustdoc: add test case for associated type margins
Michael Howell [Mon, 31 Oct 2022 14:47:42 +0000 (07:47 -0700)]
rustdoc: add test case for associated type margins

19 months agobump up recursion limit for miri crate
Ralf Jung [Mon, 31 Oct 2022 14:41:50 +0000 (15:41 +0100)]
bump up recursion limit for miri crate

19 months agoAdd `ignore-cross-compile` to the `#[bench]` smoketest, and move it back to run-make
Thom Chiovoloni [Mon, 31 Oct 2022 12:53:54 +0000 (05:53 -0700)]
Add `ignore-cross-compile` to the `#[bench]` smoketest, and move it back to run-make

19 months agomove libtest bench smoketest to run-make-fulldeps
Thom Chiovoloni [Mon, 31 Oct 2022 12:19:02 +0000 (05:19 -0700)]
move libtest bench smoketest to run-make-fulldeps

19 months agoAuto merge of #103797 - Dylan-DPC:rollup-ps589fi, r=Dylan-DPC
bors [Mon, 31 Oct 2022 12:07:07 +0000 (12:07 +0000)]
Auto merge of #103797 - Dylan-DPC:rollup-ps589fi, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #103338 (Fix unreachable_pub suggestion for enum with fields)
 - #103603 (Lang item cleanups)
 - #103732 (Revert "Make the `c` feature for `compiler-builtins` opt-in instead of inferred")
 - #103766 (Add tracking issue to `error_in_core`)
 - #103789 (Update E0382.md)

Failed merges:

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

19 months agoUse AdtDef to check enum.
Camille GILLOT [Sun, 30 Oct 2022 18:31:03 +0000 (18:31 +0000)]
Use AdtDef to check enum.

19 months agoUse adt_def for ADT collection.
Camille GILLOT [Sun, 30 Oct 2022 09:17:16 +0000 (09:17 +0000)]
Use adt_def for ADT collection.

19 months agoUse AdtDef in wfcheck.
Camille GILLOT [Sun, 30 Oct 2022 07:57:23 +0000 (07:57 +0000)]
Use AdtDef in wfcheck.

19 months agosmoketest that libtest doesn't panic in `#[bench]`
Thom Chiovoloni [Mon, 31 Oct 2022 11:21:14 +0000 (04:21 -0700)]
smoketest that libtest doesn't panic in `#[bench]`

19 months agoRemove bounds check with enum cast
ouz-a [Wed, 26 Oct 2022 14:50:11 +0000 (17:50 +0300)]
Remove bounds check with enum cast

19 months agoAdd test for tuple struct field generation in search index
Guillaume Gomez [Mon, 31 Oct 2022 10:21:27 +0000 (11:21 +0100)]
Add test for tuple struct field generation in search index

19 months agoDon't generate tuple struct fields into the search index
Guillaume Gomez [Mon, 31 Oct 2022 10:21:06 +0000 (11:21 +0100)]
Don't generate tuple struct fields into the search index

19 months agointerpret: move type_name implementation to an interpreter-independent helper file
Ralf Jung [Mon, 31 Oct 2022 10:04:03 +0000 (11:04 +0100)]
interpret: move type_name implementation to an interpreter-independent helper file

19 months agoRollup merge of #103789 - domfarolino:e0382, r=Dylan-DPC
Dylan DPC [Mon, 31 Oct 2022 09:22:57 +0000 (14:52 +0530)]
Rollup merge of #103789 - domfarolino:e0382, r=Dylan-DPC

Update E0382.md

Remove extra period after sentence.

19 months agoRollup merge of #103766 - lukas-code:error-in-core, r=Dylan-DPC
Dylan DPC [Mon, 31 Oct 2022 09:22:57 +0000 (14:52 +0530)]
Rollup merge of #103766 - lukas-code:error-in-core, r=Dylan-DPC

Add tracking issue to `error_in_core`

This was merged in https://github.com/rust-lang/rust/pull/99917 without a tracking issue, so I'm creating one now: https://github.com/rust-lang/rust/issues/103765

19 months agoRollup merge of #103732 - Mark-Simulacrum:revert-compiler-builtins, r=jyn514
Dylan DPC [Mon, 31 Oct 2022 09:22:56 +0000 (14:52 +0530)]
Rollup merge of #103732 - Mark-Simulacrum:revert-compiler-builtins, r=jyn514

Revert "Make the `c` feature for `compiler-builtins` opt-in instead of inferred"

This reverts commit 3acb505ee560770c62bad5362f6caf7567d467b9 (PR #101833).

The changes in this commit caused several bugs/incompatibilities (https://github.com/rust-lang/rust/pull/101833#issuecomment-1270191721, https://github.com/rust-lang/rust/issues/102560). For now we're reverting this commit and will re-land it alongside fixes for those bugs.

Re-opens #101172
cc #102560
cc #102579

19 months agoRollup merge of #103603 - camsteffen:refactor-lang, r=oli-obk
Dylan DPC [Mon, 31 Oct 2022 09:22:56 +0000 (14:52 +0530)]
Rollup merge of #103603 - camsteffen:refactor-lang, r=oli-obk

Lang item cleanups

Various cleanups related to lang items.

19 months agoRollup merge of #103338 - l4l:enum-unreachable-pub, r=nagisa
Dylan DPC [Mon, 31 Oct 2022 09:22:55 +0000 (14:52 +0530)]
Rollup merge of #103338 - l4l:enum-unreachable-pub, r=nagisa

Fix unreachable_pub suggestion for enum with fields

Resolves #103317

19 months agoInclude both benchmarks and tests in the numbers given to `TeFiltered{,Out}`
Thom Chiovoloni [Mon, 31 Oct 2022 07:42:10 +0000 (00:42 -0700)]
Include both benchmarks and tests in the numbers given to `TeFiltered{,Out}`

19 months agoAdd better python discovery
Albert Larsan [Thu, 13 Oct 2022 08:20:39 +0000 (10:20 +0200)]
Add better python discovery

`x.ps1` and `x` will now search for python executables like `python3.9`
and `python3.10.exe`

19 months agorustdoc: add margins to all impl-item toggles, not just methods
Michael Howell [Mon, 31 Oct 2022 06:10:59 +0000 (23:10 -0700)]
rustdoc: add margins to all impl-item toggles, not just methods

Fixes #103782

19 months agoUpdate E0382.md
Dominic Farolino [Mon, 31 Oct 2022 04:41:12 +0000 (00:41 -0400)]
Update E0382.md

19 months agoAuto merge of #103787 - notriddle:rollup-q1vmxsb, r=notriddle
bors [Mon, 31 Oct 2022 03:40:22 +0000 (03:40 +0000)]
Auto merge of #103787 - notriddle:rollup-q1vmxsb, r=notriddle

Rollup of 8 pull requests

Successful merges:

 - #97971 (Enable varargs support for calling conventions other than C or cdecl )
 - #101428 (Add mir building test directory)
 - #101944 (rustdoc: clean up `#toggle-all-docs`)
 - #102101 (check lld version to choose correct option to disable multi-threading in tests)
 - #102689 (Add a tier 3 target for the Sony PlayStation 1)
 - #103746 (rustdoc: add support for incoherent impls on structs and traits)
 - #103758 (Add regression test for reexports in search results)
 - #103764 (All verbosity checks in `PrettyPrinter` now go through `PrettyPrinter::should_print_verbose`)

Failed merges:

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

19 months agoRollup merge of #103764 - SarthakSingh31:issue-94187-2, r=compiler-errors
Michael Howell [Mon, 31 Oct 2022 02:31:40 +0000 (19:31 -0700)]
Rollup merge of #103764 - SarthakSingh31:issue-94187-2, r=compiler-errors

All verbosity checks in `PrettyPrinter` now go through `PrettyPrinter::should_print_verbose`

Follow-up to #103428. That pr only partially fixed #94187. In some cases (like closures) `std::any::type_name` was still producing a different output when `-Zverbose` was enabled.

This pr fixes those cases and adds a new function `PrettyPrinter::should_print_verbose`. This function should always be used over `self.tcx().sess.verbose()` inside a `impl PrettyPrinter`.

Maybe closes #94187 now.

r? ``@compiler-errors``

19 months agoRollup merge of #103758 - GuillaumeGomez:reexports-search-result-test, r=notriddle
Michael Howell [Mon, 31 Oct 2022 02:31:39 +0000 (19:31 -0700)]
Rollup merge of #103758 - GuillaumeGomez:reexports-search-result-test, r=notriddle

Add regression test for reexports in search results

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

r? ``@notriddle``

19 months agoRollup merge of #103746 - notriddle:notriddle/incoherent-dyn-trait, r=GuillaumeGomez
Michael Howell [Mon, 31 Oct 2022 02:31:39 +0000 (19:31 -0700)]
Rollup merge of #103746 - notriddle:notriddle/incoherent-dyn-trait, r=GuillaumeGomez

rustdoc: add support for incoherent impls on structs and traits

Fixes #103170

19 months agoRollup merge of #102689 - ayrtonm:master, r=cjgillot
Michael Howell [Mon, 31 Oct 2022 02:31:38 +0000 (19:31 -0700)]
Rollup merge of #102689 - ayrtonm:master, r=cjgillot

Add a tier 3 target for the Sony PlayStation 1

This adds a tier 3 target, `mipsel-sony-psx`, for the Sony PlayStation 1. I've tested it pretty thoroughly with [this SDK](https://github.com/ayrtonm/psx-sdk-rs) I wrote for it.

From the [tier 3 target policy](https://doc.rust-lang.org/rustc/target-tier-policy.html#tier-3-target-policy) (I've omitted the subpoints for brevity, but read over everything)
> A tier 3 target must have a designated developer or developers (the "target maintainers") on record to be CCed when issues arise regarding the target. (The mechanism to track and CC such developers may evolve over time.)

I'd be the designated developer

> Targets must use naming consistent with any existing targets; for instance, a target for the same CPU or OS as an existing Rust target should use the same name for that CPU or OS. Targets should normally use the same names and naming conventions as used elsewhere in the broader ecosystem beyond Rust (such as in other toolchains), unless they have a very good reason to diverge. Changing the name of a target can be highly disruptive, especially once the target reaches a higher tier, so getting the name right is important even for a tier 3 target.

The target name follows the conventions of the existing PSP target (`mipsel-sony-psp`) and uses `psx` following the convention of the broader [PlayStation homebrew community](https://psx-spx.consoledev.net/).

> Tier 3 targets may have unusual requirements to build or use, but must not create legal issues or impose onerous legal terms for the Rust project or for Rust developers or users.

No legal issues with this target.

> Neither this policy nor any decisions made regarding targets shall create any binding agreement or estoppel by any party. If any member of an approving Rust team serves as one of the maintainers of a target, or has any legal or employment requirement (explicit or implicit) that might affect their decisions regarding a target, they must recuse themselves from any approval decisions regarding the target's tier status, though they may otherwise participate in discussions.

:+1:

> Tier 3 targets should attempt to implement as much of the standard libraries as possible and appropriate (core for most targets, alloc for targets that can support dynamic memory allocation, std for targets with an operating system or equivalent layer of system-provided functionality), but may leave some code unimplemented (either unavailable or stubbed out as appropriate), whether because the target makes it impossible to implement or challenging to implement. The authors of pull requests are not obligated to avoid calling any portions of the standard library on the basis of a tier 3 target not implementing those portions.

The psx supports `core` and `alloc`, but will likely not support `std` anytime soon.

> The target must provide documentation for the Rust community explaining how to build for the target, using cross-compilation if possible. If the target supports running binaries, or running tests (even if they do not pass), the documentation must explain how to run such binaries or tests for the target, using emulation if possible or dedicated hardware if necessary.

This target has an SDK and a `cargo-psx` tool for formatting binaries as psx executables. Documentation and examples are provided in the [psx-sdk-rs README](https://github.com/ayrtonm/psx-sdk-rs#psx-sdk-rs), the SDK and cargo tool are both available through crates.io and docs.rs has [SDK documentation](https://docs.rs/psx/latest/psx/).

> Tier 3 targets must not impose burden on the authors of pull requests, or other developers in the community, to maintain the target. In particular, do not post comments (automated or manual) on a PR that derail or suggest a block on the PR based on a tier 3 target. Do not send automated messages or notifications (via any medium, including via `@)` to a PR author or others involved with a PR regarding a tier 3 target, unless they have opted into such messages.

:+1:

> Patches adding or updating tier 3 targets must not break any existing tier 2 or tier 1 target, and must not knowingly break another tier 3 target without approval of either the compiler team or the maintainers of the other tier 3 target.

No problem

19 months agoRollup merge of #102101 - BelovDV:new-check-lld-version, r=petrochenkov
Michael Howell [Mon, 31 Oct 2022 02:31:38 +0000 (19:31 -0700)]
Rollup merge of #102101 - BelovDV:new-check-lld-version, r=petrochenkov

check lld version to choose correct option to disable multi-threading in tests

Testing compiler with 'use-lld = true' may be incorrect with old lld.
Flag, disabling multi-threading, should consider lld version.

r? ``@petrochenkov``

19 months agoRollup merge of #101944 - notriddle:notriddle/toggle-all-docs, r=jsha,GuillaumeGomez
Michael Howell [Mon, 31 Oct 2022 02:31:37 +0000 (19:31 -0700)]
Rollup merge of #101944 - notriddle:notriddle/toggle-all-docs, r=jsha,GuillaumeGomez

rustdoc: clean up `#toggle-all-docs`

This change converts the element from an `<a>` link to a button. It's pretty much directly trading slightly more CSS for slightly less HTML, and it's also semantically correct (so you don't get a broken "bookmark" option when you right click on it).

While doing this, I also got rid of the unnecessary `class="inner"` attribute on the inner span. There was a style targeting `.collapse-toggle > .inner`, but no CSS ever targeted the `#toggle-all-docs > .inner`.

Preview: https://notriddle.com/notriddle-rustdoc-test/button-toggle-all-docs/index.html

19 months agoRollup merge of #101428 - JakobDegen:build-tests, r=oli-obk
Michael Howell [Mon, 31 Oct 2022 02:31:37 +0000 (19:31 -0700)]
Rollup merge of #101428 - JakobDegen:build-tests, r=oli-obk

Add mir building test directory

The first commit renames `mir-map.0` mir dumps to `built.after` dumps. I am happy to drop this commit if someone can explain the origin of the name.

The second commit moves a bunch of mir building tests into their own directory. I did my best to make sure that all of these tests are actually testing mir building, and not just incidentally using `built.after`

r? ``@oli-obk``

19 months agoRollup merge of #97971 - Soveu:varargs, r=jackh726
Michael Howell [Mon, 31 Oct 2022 02:31:36 +0000 (19:31 -0700)]
Rollup merge of #97971 - Soveu:varargs, r=jackh726

Enable varargs support for calling conventions other than C or cdecl

This patch makes it possible to use varargs for calling conventions,
which are either based on C (efiapi) or C is based on them (sysv64 and win64).

Also pinging ``@phlopsi,`` because he noticed first this oversight when writing a library for UEFI.

19 months agoAuto merge of #103331 - nnethercote:convert-switch-to-br, r=scottmcm
bors [Mon, 31 Oct 2022 00:40:32 +0000 (00:40 +0000)]
Auto merge of #103331 - nnethercote:convert-switch-to-br, r=scottmcm

Use `br` instead of `switch` in more cases.

`codegen_switchint_terminator` already uses `br` instead of `switch` when there is one normal target plus the `otherwise` target. But there's another common case with two normal targets and an `otherwise` target that points to an empty unreachable BB. This comes up a lot when switching on the tags of enums that use niches.

The pattern looks like this:
```
bb1:                                              ; preds = %bb6
  %3 = load i8, ptr %_2, align 1, !range !9, !noundef !4
  %4 = sub i8 %3, 2
  %5 = icmp eq i8 %4, 0
  %_6 = select i1 %5, i64 0, i64 1
  switch i64 %_6, label %bb3 [
    i64 0, label %bb4
    i64 1, label %bb2
  ]

bb3:                                              ; preds = %bb1
  unreachable
```
This commit adds code to convert the `switch` to a `br`:
```
bb1:                                              ; preds = %bb6
  %3 = load i8, ptr %_2, align 1, !range !9, !noundef !4
  %4 = sub i8 %3, 2
  %5 = icmp eq i8 %4, 0
  %_6 = select i1 %5, i64 0, i64 1
  %6 = icmp eq i64 %_6, 0
  br i1 %6, label %bb4, label %bb2

bb3:                                              ; No predecessors!
  unreachable
```
This has a surprisingly large effect on compile times, with reductions of 5% on debug builds of some crates. The reduction is all due to LLVM taking less time. Maybe LLVM is just much better at handling `br` than `switch`.

The resulting code is still suboptimal.
- The `icmp`, `select`, `icmp` sequence is silly, converting an `i1` to an `i64` and back to an `i1`. But with the current code structure it's hard to avoid, and LLVM will easily clean it up, in opt builds at least.
- `bb3` is usually now truly dead code (though not always, so it can't be removed universally).

r? `@scottmcm`

19 months agoUse `br` instead of `switch` in more cases.
Nicholas Nethercote [Thu, 20 Oct 2022 07:59:07 +0000 (18:59 +1100)]
Use `br` instead of `switch` in more cases.

`codegen_switchint_terminator` already uses `br` instead of `switch`
when there is one normal target plus the `otherwise` target. But there's
another common case with two normal targets and an `otherwise` target
that points to an empty unreachable BB. This comes up a lot when
switching on the tags of enums that use niches.

The pattern looks like this:
```
bb1:                                              ; preds = %bb6
  %3 = load i8, ptr %_2, align 1, !range !9, !noundef !4
  %4 = sub i8 %3, 2
  %5 = icmp eq i8 %4, 0
  %_6 = select i1 %5, i64 0, i64 1
  switch i64 %_6, label %bb3 [
    i64 0, label %bb4
    i64 1, label %bb2
  ]

bb3:                                              ; preds = %bb1
  unreachable
```
This commit adds code to convert the `switch` to a `br`:
```
bb1:                                              ; preds = %bb6
  %3 = load i8, ptr %_2, align 1, !range !9, !noundef !4
  %4 = sub i8 %3, 2
  %5 = icmp eq i8 %4, 0
  %_6 = select i1 %5, i64 0, i64 1
  %6 = icmp eq i64 %_6, 0
  br i1 %6, label %bb4, label %bb2

bb3:                                              ; No predecessors!
  unreachable
```
This has a surprisingly large effect on compile times, with reductions
of 5% on debug builds of some crates. The reduction is all due to LLVM
taking less time. Maybe LLVM is just much better at handling `br` than
`switch`.

The resulting code is still suboptimal.
- The `icmp`, `select`, `icmp` sequence is silly, converting an `i1` to an `i64`
  and back to an `i1`. But with the current code structure it's hard to avoid,
  and LLVM will easily clean it up, in opt builds at least.
- `bb3` is usually now truly dead code (though not always, so it can't
  be removed universally).

19 months agoAuto merge of #103479 - nikic:update-llvm-9, r=cuviper
bors [Sun, 30 Oct 2022 20:31:48 +0000 (20:31 +0000)]
Auto merge of #103479 - nikic:update-llvm-9, r=cuviper

Update LLVM submodule

Merge upstream `release/15.x` branch.

Fixes #102738.

19 months agobetter error for rustc_strict_coherence misuse
Michael Goulet [Sun, 30 Oct 2022 19:10:35 +0000 (19:10 +0000)]
better error for rustc_strict_coherence misuse

19 months agoAuto merge of #103299 - nikic:usub-overflow, r=wesleywiser
bors [Sun, 30 Oct 2022 17:45:04 +0000 (17:45 +0000)]
Auto merge of #103299 - nikic:usub-overflow, r=wesleywiser

Don't use usub.with.overflow intrinsic

The canonical form of a usub.with.overflow check in LLVM are separate sub + icmp instructions, rather than a usub.with.overflow intrinsic. Using usub.with.overflow will generally result in worse optimization potential.

The backend will attempt to form usub.with.overflow when it comes to actual instruction selection. This is not fully reliable, but I believe this is a better tradeoff than using the intrinsic in IR.

Fixes #103285.

19 months agoAdd tracking issue to `error_in_core`
Lukas Markeffsky [Sun, 30 Oct 2022 16:26:46 +0000 (17:26 +0100)]
Add tracking issue to `error_in_core`

20 months agoAll verbosity checks in `PrettyPrinter` now go through `PrettyPrinter::should_print_v...
Sarthak Singh [Sun, 30 Oct 2022 12:08:49 +0000 (17:38 +0530)]
All verbosity checks in `PrettyPrinter` now go through `PrettyPrinter::should_print_verbose`

20 months agoAuto merge of #103295 - ishitatsuyuki:ninja, r=cuviper
bors [Sun, 30 Oct 2022 14:13:42 +0000 (14:13 +0000)]
Auto merge of #103295 - ishitatsuyuki:ninja, r=cuviper

ci: Bring back ninja for dist builders

The primary reason for this is that make can result in a substantial under utilization of parallelism (noticed while testing on a workstation), mostly due to the submake structure preventing good dependency tracking and scheduling.

In f758c7b2a78 (Debian 6 doesn't have ninja, so use make for the dist builds) llvm.ninja was disabled due to lack of distro package. This is no longer the case with the CentOS 7 base, so bring ninja back for a performance boost.

20 months agoAdd regression test for reexports in search results
Guillaume Gomez [Sun, 30 Oct 2022 12:58:00 +0000 (13:58 +0100)]
Add regression test for reexports in search results

20 months agoAuto merge of #103010 - petrochenkov:effvisdoc, r=GuillaumeGomez
bors [Sun, 30 Oct 2022 10:52:04 +0000 (10:52 +0000)]
Auto merge of #103010 - petrochenkov:effvisdoc, r=GuillaumeGomez

rustdoc: Simplify modifications of effective visibility table

It is now obvious that rustdoc only calls `set_access_level` with foreign def ids and `AccessLevel::Public`.

The second commit makes one more step and separates effective visibilities coming from rustc from similar data collected by rustdoc for extern `DefId`s.
The original table is no longer modified and now only contains local def ids as populated by rustc.

cc https://github.com/rust-lang/rust/pull/102026 `@Bryanskiy`

20 months agoAuto merge of #103755 - Dylan-DPC:rollup-dl2hups, r=Dylan-DPC
bors [Sun, 30 Oct 2022 08:09:59 +0000 (08:09 +0000)]
Auto merge of #103755 - Dylan-DPC:rollup-dl2hups, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #93582 (Allow `impl Fn() -> impl Trait` in return position)
 - #103560 (Point only to the identifiers in the typo suggestions of shadowed names instead of the entire struct)
 - #103588 (rustdoc: add missing URL redirect)
 - #103689 (Do fewer passes and generally be more efficient when filtering tests)
 - #103740 (rustdoc: remove unnecessary CSS `.search-results { padding-bottom }`)

Failed merges:

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

20 months agoRollup merge of #103740 - notriddle:notriddle/search-results-padding-bottom, r=Dylan-DPC
Dylan DPC [Sun, 30 Oct 2022 06:20:28 +0000 (11:50 +0530)]
Rollup merge of #103740 - notriddle:notriddle/search-results-padding-bottom, r=Dylan-DPC

rustdoc: remove unnecessary CSS `.search-results { padding-bottom }`

There's nothing underneath it anyway. The conversation on #84462 never really spelled out why it was added.

20 months agoRollup merge of #103689 - saethlin:libtest-startup, r=thomcc
Dylan DPC [Sun, 30 Oct 2022 06:20:27 +0000 (11:50 +0530)]
Rollup merge of #103689 - saethlin:libtest-startup, r=thomcc

Do fewer passes and generally be more efficient when filtering tests

Follow-on of the work I started with this PR: https://github.com/rust-lang/rust/pull/99939

Basically, the startup code for libtest is really inefficient, but that's not usually a problem because it is distributed in release and workloads are small. But under Miri which can be 100x slower than a debug build, these inefficiencies explode.

Most of the diff here is making test filtering single-pass. There are a few other small optimizations as well, but they are more straightforward.

With this PR, the startup time of the `iced` tests with `--features=code_asm,mvex` drops from 17 to 2 minutes (I think Miri has gotten slower under this workload since #99939). The easiest way to try this out is to set `MIRI_LIB_SRC` to a checkout of this branch when running `cargo +nightly miri test --features=code_asm,mvex`.

r? `@thomcc`

20 months agoRollup merge of #103588 - weihanglo:rustdoc/url-redirect, r=notriddle
Dylan DPC [Sun, 30 Oct 2022 06:20:27 +0000 (11:50 +0530)]
Rollup merge of #103588 - weihanglo:rustdoc/url-redirect, r=notriddle

rustdoc: add missing URL redirect

https://github.com/rust-lang/rust/pull/94753 missed some redirect settings, and one of the missing URL shows up in an error message. This PR adds those redirects.

20 months agoRollup merge of #103560 - zbyrn:issue-103358-fix, r=cjgillot
Dylan DPC [Sun, 30 Oct 2022 06:20:26 +0000 (11:50 +0530)]
Rollup merge of #103560 - zbyrn:issue-103358-fix, r=cjgillot

Point only to the identifiers in the typo suggestions of shadowed names instead of the entire struct

Fixes #103358.

As discussed in the issue, the `Span` of the candidate `Ident` for a typo replacement is stored alongside its `Symbol` in `TypoSuggestion`. Then, the span of the identifier is what the "you might have meant to refer to" note is pointed at, rather than the entire struct definition.

Comments in #103111 and the issue both suggest that it is desirable to:
1. include names defined in the same crate as the typo,
2. ignore names defined elsewhere such as in `std`, _and_
3. include names introduced indirectly via `use`.

Since a name from another crate but introduced via `use` has non-local `def_id`, to achieve this, a suggestion is displayed if either the `def_id` of the suggested name is local, or the `span` of the suggested name is in the same file as the typo itself.

Some UI tests have also been modified to reflect this change.

r? `@cjgillot`

20 months agoRollup merge of #93582 - WaffleLapkin:rpitirpit, r=compiler-errors
Dylan DPC [Sun, 30 Oct 2022 06:20:26 +0000 (11:50 +0530)]
Rollup merge of #93582 - WaffleLapkin:rpitirpit, r=compiler-errors

Allow `impl Fn() -> impl Trait` in return position

_This was originally proposed as part of #93082 which was [closed](https://github.com/rust-lang/rust/pull/93082#issuecomment-1027225715) due to allowing `impl Fn() -> impl Trait` in argument position._

This allows writing the following function signatures:
```rust
fn f0() -> impl Fn() -> impl Trait;
fn f3() -> &'static dyn Fn() -> impl Trait;
```

These signatures were already allowed for common traits and associated types, there is no reason why `Fn*` traits should be special in this regard.

`impl Trait` in both `f0` and `f3` means "new existential type", just like with `-> impl Iterator<Item = impl Trait>` and such.

Arrow in `impl Fn() ->` is right-associative and binds from right to left, it's tested by [this test](https://github.com/WaffleLapkin/rust/blob/a819fecb8dea438fc70488ddec30a61e52942672/src/test/ui/impl-trait/impl_fn_associativity.rs).

There even is a test that `f0` compiles:
https://github.com/rust-lang/rust/blob/2f004d2d401682e553af3984ebd9a3976885e752/src/test/ui/impl-trait/nested_impl_trait.rs#L25-L28

But it was changed in [PR 48084 (lines)](https://github.com/rust-lang/rust/pull/48084/files#diff-ccecca938872d65ffe8cd1c3ef1956e309fac83bcda547d8b16b89257e53a437R37)  to test the opposite, probably unintentionally given [PR 48084 (lines)](https://github.com/rust-lang/rust/pull/48084/files#diff-5a02f1ed43debed1fd24f7aad72490064f795b9420f15d847bac822aa4621a1cR476-R477).

r? `@nikomatsakis`

----

This limitation is especially annoying with async code, since it forces one to write this:
```rust
trait AsyncFn3<A, B, C>: Fn(A, B, C) -> <Self as AsyncFn3<A, B, C>>::Future {
    type Future: Future<Output = Self::Out>;

    type Out;
}

impl<A, B, C, Fut, F> AsyncFn3<A, B, C> for F
where
    F: Fn(A, B, C) -> Fut,
    Fut: Future,
{
    type Future = Fut;

    type Out = Fut::Output;
}

fn async_closure() -> impl AsyncFn3<i32, i32, i32, Out = u32> {
    |a, b, c| async move { (a + b + c) as u32 }
}
```
Instead of:
```rust
fn async_closure() -> impl Fn(i32, i32, i32) -> impl Future<Output = u32> {
    |a, b, c| async move { (a + b + c) as u32 }
}
```

20 months agoAuto merge of #103721 - RalfJung:miri, r=RalfJung
bors [Sun, 30 Oct 2022 05:22:37 +0000 (05:22 +0000)]
Auto merge of #103721 - RalfJung:miri, r=RalfJung

update Miri

Noteworthy PRs:
- https://github.com/rust-lang/miri/pull/2624
- https://github.com/rust-lang/miri/pull/2626
- https://github.com/rust-lang/miri/pull/2630
- https://github.com/rust-lang/miri/pull/2631

20 months agoReduce span of let else irrefutable_let_patterns warning
est31 [Sun, 30 Oct 2022 03:02:10 +0000 (04:02 +0100)]
Reduce span of let else irrefutable_let_patterns warning

Huge spans aren't good for IDE users as they underline constructs that
are possibly multiline.

20 months agoAuto merge of #103745 - matthiaskrgr:rollup-hipjva8, r=matthiaskrgr
bors [Sun, 30 Oct 2022 02:26:41 +0000 (02:26 +0000)]
Auto merge of #103745 - matthiaskrgr:rollup-hipjva8, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #100006 (Make `core::mem::copy` const)
 - #102659 (1.65.0 release notes)
 - #103124 (Add tests for autoderef on block tail)
 - #103253 (rustdoc: add test case for masked blanket impl)
 - #103715 (use consistent terminology)
 - #103722 (Fix z-indexes of code example feature and cleanup its CSS)
 - #103726 (Avoid unnecessary `&str` to `String` conversions)
 - #103737 (rustdoc: use CSS margin/padding shorthand when all are being set)

Failed merges:

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

20 months agoAuto merge of #103731 - Mark-Simulacrum:new-version, r=Mark-Simulacrum
bors [Sat, 29 Oct 2022 23:25:13 +0000 (23:25 +0000)]
Auto merge of #103731 - Mark-Simulacrum:new-version, r=Mark-Simulacrum

Bump to 1.67.0

r? `@Mark-Simulacrum`

20 months agorustdoc: add support for incoherent impls on structs and traits
Michael Howell [Sat, 29 Oct 2022 22:48:31 +0000 (15:48 -0700)]
rustdoc: add support for incoherent impls on structs and traits

Fixes #103170

20 months agofix #103783, fix ICE checking transmutability of NaughtyLenArray
yukang [Sat, 29 Oct 2022 17:32:04 +0000 (01:32 +0800)]
fix #103783, fix ICE checking transmutability of NaughtyLenArray

20 months agoRollup merge of #103737 - notriddle:notriddle/margin, r=GuillaumeGomez
Matthias Krüger [Sat, 29 Oct 2022 22:09:27 +0000 (00:09 +0200)]
Rollup merge of #103737 - notriddle:notriddle/margin, r=GuillaumeGomez

rustdoc: use CSS margin/padding shorthand when all are being set

20 months agoRollup merge of #103726 - TaKO8Ki:avoid-&str-to-string-conversions, r=compiler-errors
Matthias Krüger [Sat, 29 Oct 2022 22:09:26 +0000 (00:09 +0200)]
Rollup merge of #103726 - TaKO8Ki:avoid-&str-to-string-conversions, r=compiler-errors

Avoid unnecessary `&str` to `String` conversions

20 months agoRollup merge of #103722 - GuillaumeGomez:cleanup-code-example-css, r=notriddle
Matthias Krüger [Sat, 29 Oct 2022 22:09:26 +0000 (00:09 +0200)]
Rollup merge of #103722 - GuillaumeGomez:cleanup-code-example-css, r=notriddle

Fix z-indexes of code example feature and cleanup its CSS

When reviewing https://github.com/rust-lang/rust/pull/103650, I realized that the `z-index`es of this feature were completely broken:

![Screenshot from 2022-10-28 10-55-27](https://user-images.githubusercontent.com/3050060/198826360-0c5cbe5a-ea8e-452a-9504-38d3da3615e6.png)

This PR fixes it by reducing the value of value under the one used for `.popover` (it could be completely removed but then it wouldn't be displayed as nicely).

There was also a lot of duplicated CSS so I merged the rules.

r? `@notriddle`

20 months agoRollup merge of #103715 - tshepang:consistency, r=Dylan-DPC
Matthias Krüger [Sat, 29 Oct 2022 22:09:25 +0000 (00:09 +0200)]
Rollup merge of #103715 - tshepang:consistency, r=Dylan-DPC

use consistent terminology

I did not see other traits using the "interface" word

20 months agoRollup merge of #103253 - notriddle:notriddle/test-case-masked-blanket-impl, r=Mark...
Matthias Krüger [Sat, 29 Oct 2022 22:09:25 +0000 (00:09 +0200)]
Rollup merge of #103253 - notriddle:notriddle/test-case-masked-blanket-impl, r=Mark-Simulacrum

rustdoc: add test case for masked blanket impl

20 months agoRollup merge of #103124 - ldm0:nohard_tests, r=Mark-Simulacrum
Matthias Krüger [Sat, 29 Oct 2022 22:09:24 +0000 (00:09 +0200)]
Rollup merge of #103124 - ldm0:nohard_tests, r=Mark-Simulacrum

Add tests for autoderef on block tail

ref: https://github.com/rust-lang/rust/pull/83850#issuecomment-1270598506

20 months agoRollup merge of #102659 - Mark-Simulacrum:relnotes, r=Mark-Simulacrum
Matthias Krüger [Sat, 29 Oct 2022 22:09:24 +0000 (00:09 +0200)]
Rollup merge of #102659 - Mark-Simulacrum:relnotes, r=Mark-Simulacrum

1.65.0 release notes

r? `@cuviper` (since you're writing the blog)

20 months agoRollup merge of #100006 - jyn514:update-copy, r=dtolnay
Matthias Krüger [Sat, 29 Oct 2022 22:09:23 +0000 (00:09 +0200)]
Rollup merge of #100006 - jyn514:update-copy, r=dtolnay

Make `core::mem::copy` const

cc https://github.com/rust-lang/rust/issues/98262, https://github.com/rust-lang/libs-team/issues/78

20 months agoUse tcx.require_lang_item
Cameron Steffen [Sat, 29 Oct 2022 21:09:15 +0000 (16:09 -0500)]
Use tcx.require_lang_item

20 months agoUse LanguageItems::require less
Cameron Steffen [Wed, 26 Oct 2022 22:01:00 +0000 (17:01 -0500)]
Use LanguageItems::require less

20 months agoSimplify lang item groups
Cameron Steffen [Wed, 26 Oct 2022 21:19:07 +0000 (16:19 -0500)]
Simplify lang item groups

20 months agoCleanup weak lang items
Cameron Steffen [Wed, 26 Oct 2022 21:18:59 +0000 (16:18 -0500)]
Cleanup weak lang items

20 months agoUse an array in LanguageItems
Cameron Steffen [Wed, 26 Oct 2022 21:18:46 +0000 (16:18 -0500)]
Use an array in LanguageItems

20 months agoFactor out ITEM_REFS
Cameron Steffen [Wed, 26 Oct 2022 21:18:39 +0000 (16:18 -0500)]
Factor out ITEM_REFS

20 months agoEncode LangItem directly
Cameron Steffen [Wed, 26 Oct 2022 21:18:29 +0000 (16:18 -0500)]
Encode LangItem directly

20 months agoImprove LanguageItems api
Cameron Steffen [Wed, 26 Oct 2022 21:17:59 +0000 (16:17 -0500)]
Improve LanguageItems api

20 months agorustc_middle: Remove unnecessary type parameter from `AccessLevels`
Vadim Petrochenkov [Sat, 29 Oct 2022 10:58:37 +0000 (14:58 +0400)]
rustc_middle: Remove unnecessary type parameter from `AccessLevels`

20 months agorustdoc: Split effective visibilities from rustc from similar data built by rustdoc...
Vadim Petrochenkov [Wed, 19 Oct 2022 18:37:59 +0000 (22:37 +0400)]
rustdoc: Split effective visibilities from rustc from similar data built by rustdoc for external def-ids

20 months agorustdoc: Simplify modifications of effective visibility table
Vadim Petrochenkov [Thu, 13 Oct 2022 12:53:48 +0000 (16:53 +0400)]
rustdoc: Simplify modifications of effective visibility table

20 months ago1.65.0 release notes
Mark Rousskov [Tue, 4 Oct 2022 13:51:01 +0000 (09:51 -0400)]
1.65.0 release notes

Co-authored-by: Josh Triplett <josh@joshtriplett.org>
Co-authored-by: Christopher Serr <christopher.serr@gmail.com>
Co-authored-by: memoryruins <michael@memoryruins.com>
Co-authored-by: Alexander Ronald Altman <alexanderaltman@me.com>
20 months agoDrop miri cross-compile check for Windows
Mark Rousskov [Sat, 29 Oct 2022 18:24:44 +0000 (14:24 -0400)]
Drop miri cross-compile check for Windows

20 months agoAuto merge of #103450 - cjgillot:elision-nodedup, r=Mark-Simulacrum
bors [Sat, 29 Oct 2022 17:32:45 +0000 (17:32 +0000)]
Auto merge of #103450 - cjgillot:elision-nodedup, r=Mark-Simulacrum

Do not consider repeated lifetime params for elision.

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

20 months agorustdoc: remove unnecessary `.search-results { padding-bottom }`
Michael Howell [Sat, 29 Oct 2022 16:59:53 +0000 (09:59 -0700)]
rustdoc: remove unnecessary `.search-results { padding-bottom }`

There's nothing underneath it anyway. The conversation on
b615c0c85469c94041a5e68b9d8b68dcf799f9f1 never really spelled out why it
was added.

20 months agorustdoc: use CSS margin/padding shorthand when all are being set
Michael Howell [Sat, 29 Oct 2022 16:04:31 +0000 (09:04 -0700)]
rustdoc: use CSS margin/padding shorthand when all are being set