Commit graph

136957 commits

Author SHA1 Message Date
Matthias Krüger
2f02cf8768
Rollup merge of #103523 - GuillaumeGomez:inline-doc-comment-impl-block, r=notriddle
Fix unwanted merge of inline doc comments for impl blocks

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

We need this merge mechanism for inlined items but it's completely unwanted for impl blocks (at least the doc comments are, not the other attributes) since we want to keep what `cfg()` is put on the `pub use` or other attributes.

r? ``@notriddle``
2022-10-28 07:06:42 +02:00
Matthias Krüger
270e0c5357
Rollup merge of #103283 - nbarrios1337:unsafe-impl-suggestions, r=cjgillot
Add suggestions for unsafe impl error codes

Adds suggestions for users to add `unsafe` to trait impls that should be `unsafe`, and remove `unsafe` from trait impls that do not require `unsafe`

With the folllowing code:

```rust
struct Foo {}

struct Bar {}

trait Safe {}

unsafe trait Unsafe {}

impl Safe for Foo {} // ok

impl Unsafe for Foo {} // E0200

unsafe impl Safe for Bar {} // E0199

unsafe impl Unsafe for Bar {} // ok

// omitted empty main fn
```

The current rustc output is:
```
error[E0199]: implementing the trait `Safe` is not unsafe
  --> e0200.rs:13:1
   |
13 | unsafe impl Safe for Bar {} // E0199
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0200]: the trait `Unsafe` requires an `unsafe impl` declaration
  --> e0200.rs:11:1
   |
11 | impl Unsafe for Foo {} // E0200
   | ^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0199, E0200.
For more information about an error, try `rustc --explain E0199`.
```

With this PR, the future rustc output would be:
```
error[E0199]: implementing the trait `Safe` is not unsafe
  --> ../../temp/e0200.rs:13:1
   |
13 | unsafe impl Safe for Bar {} // E0199
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: remove `unsafe` from this trait implementation
   |
13 - unsafe impl Safe for Bar {} // E0199
13 + impl Safe for Bar {} // E0199
   |

error[E0200]: the trait `Unsafe` requires an `unsafe impl` declaration
  --> ../../temp/e0200.rs:11:1
   |
11 | impl Unsafe for Foo {} // E0200
   | ^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: the trait `Unsafe` enforces invariants that the compiler can't check. Review the trait documentation and make sure this implementation upholds those invariants before adding the `unsafe` keyword
help: add `unsafe` to this trait implementation
   |
11 | unsafe impl Unsafe for Foo {} // E0200
   | ++++++

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0199, E0200.
For more information about an error, try `rustc --explain E0199`.
```

``@rustbot`` label +T-compiler +A-diagnostics +A-suggestion-diagnostics
2022-10-28 07:06:42 +02:00
Matthias Krüger
c404092084
Rollup merge of #102642 - bryangarza:afit-tests, r=compiler-errors
Add tests for static async functions in traits

This patch adds test cases for AFIT, the majority of which are currently expected to run as `check-fail`.

---

Note: I grabbed the cases from https://hackmd.io/SwRcXCiWQV-WRJ4BYs53fA

Also, I'm not sure if the `async-associated-types2` and `async-associated-types2-desugared` are correct, I modified them a bit from the examples in the HackMD.
2022-10-28 07:06:41 +02:00
Rageking8
92b314ba30 add test for issue 98634 2022-10-28 10:07:54 +08:00
Michael Howell
509d8ad454 rustdoc: remove redundant div.search-container
This wrapper DIV was originally added in
89e1fb3223, when it allowed the search bar's
size to be calculated without using `calc()`. This `width` hack can be
removed using flexbox.
2022-10-27 17:48:26 -07:00
bors
cdd7afeaad Auto merge of #103654 - flip1995:clippy_backport, r=Manishearth
Move clippy::uninlined_format_args back to pedantic

Before `beta` is branched tomorrow we want to move this lint back to `pedantic` so that it is not enabled by default.

Clippy PR: https://github.com/rust-lang/rust-clippy/pull/9728
Zulip discussion: https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/.60uninlined_format_args.60.20category/near/306306974

r? `@Manishearth`
2022-10-28 00:34:32 +00:00
Bryan Garza
bfdefdbfb7 Update tests based on feedback
- Add comment to some tests that will break when #102745 is implemented
- Mark a test with known-bug
- Delete duplicate test
2022-10-27 22:58:54 +00:00
Bryan Garza
0b3b046436 Update src/test/ui/async-await/in-trait/async-example.rs
Co-authored-by: Michael Goulet <michael@errs.io>
2022-10-27 22:58:54 +00:00
Bryan Garza
9a05081d5f Add additional tests for static AFIT 2022-10-27 22:58:54 +00:00
Bryan Garza
11b1439380 Update tests based on feedback 2022-10-27 22:58:54 +00:00
Bryan Garza
8a0ebca97e Update static AFIT tests based on feedback 2022-10-27 22:58:54 +00:00
Bryan Garza
97423d331f Add tests for static async functions in traits
This patch adds test cases for AFIT, the majority of which are currently
expected to run as `check-fail`.
2022-10-27 22:58:53 +00:00
Boxy
ca5a6e43dd use proper spans 2022-10-27 22:18:26 +01:00
Boxy
c00ff9c4d0 DoIt 2022-10-27 21:48:47 +01:00
Philipp Krones
3f24108662
Move clippy::uninlined_format_args back to pedantic 2022-10-27 22:24:24 +02:00
Maybe Waffle
7663305dff Implement ptr_mask intrinsic 2022-10-27 23:47:50 +04:00
Camille GILLOT
cb1e7d9676 Only ban duplication across parameters. 2022-10-27 19:04:48 +00:00
Alex Macleod
f5e390e863 Fix rustc_parse_format spans following escaped utf-8 multibyte chars 2022-10-27 18:20:56 +00:00
Joshua Nelson
fde05ea089 Use PkgType for profiles, too
This makes it easier to remove `is_preview` from components in the future if we choose to do so.
2022-10-27 12:54:42 -05:00
Joshua Nelson
1e9d2187ed Use PkgType in more places
In particular, this avoids serializing and parsing the pkg to a string,
which allows getting rid of `PkgType::Other` altogether
2022-10-27 12:54:41 -05:00
Gary Guo
bfac2daef9 Ignore test on mingw32 2022-10-27 18:22:40 +01:00
Weihang Lo
4d9114fe80
Update cargo
6 commits in 9210810d1fd7b51ae0439a0a363cc50e36963455..7e484fc1a766f56dbc95380f45719698e0c82749
2022-10-25 22:31:50 +0000 to 2022-10-27 15:20:57 +0000
- fix(publish): Block until it is in index (rust-lang/cargo#11062)
- Add Accept-Encoding request header to enable compression (rust-lang/cargo#11292)
- Update contrib docs for highfive transition (rust-lang/cargo#11294)
- Migrate from highfive to triagebot (rust-lang/cargo#11293)
- Fix dupe word typos (rust-lang/cargo#11287)
- Fix confusing error messages when using -Zsparse-registry (rust-lang/cargo#11283)
2022-10-28 01:18:50 +08:00
Joshua Nelson
6cbf079596 Use an exhaustive match in target_host_combination.
This avoids bugs where components are added to one part of the manifest but not another.
2022-10-27 12:16:15 -05:00
Joshua Nelson
a3dd94e702 Use PkgType::is_preview to determine whether to add a rename to the manifest
This caught a missing preview rename for `llvm-tools`.
2022-10-27 12:16:15 -05:00
Joshua Nelson
69a74955fd Use PkgType to determine which packages to add to the manifest
Previously, these had to be hard-coded (i.e. specified in both `PkgType` and `fn package`). Now they only have to be specified in `PkgType`.
2022-10-27 12:16:15 -05:00
Joshua Nelson
494cb47852 build-manifest: Add a macro that makes it impossible to typo -preview, or have a mismatch between parsing and stringifying 2022-10-27 12:16:15 -05:00
Joshua Nelson
79e86e3ea0 More build-manifest docs 2022-10-27 12:16:15 -05:00
Michael Howell
dd912add18 rustdoc: stop hiding focus outlines on non-rustdoc-toggle details tags
We really shouldn't be overriding this kind of stuff unless the browser
default is really broken (like outlining the thing that isn't clickable).
This directly reverts b8f4e74cbc.
2022-10-27 10:01:28 -07:00
Michael Goulet
4e0c27bbfd Erase regions from CallArgument, add test + bless 2022-10-27 16:26:55 +00:00
Michael Goulet
dce44faf5b Revert "Make ClosureOutlivesRequirement not rely on an unresolved type"
This reverts commit a6b5f95fb0.
2022-10-27 16:15:11 +00:00
Maybe Waffle
c8c4971073 Update miri 2022-10-27 19:10:33 +04:00
Rageking8
f4ac137f3c add test for issue 36007 2022-10-27 22:56:20 +08:00
Maybe Waffle
dc53c8f25f Update tooling 2022-10-27 18:41:26 +04:00
Michael Woerister
9117ea9758 Introduce UnordMap, UnordSet, and UnordBag (see MCP 533)
MCP 533: https://github.com/rust-lang/compiler-team/issues/533

Also, as an example, substitute UnordMap for FxHashMap in
used_trait_imports query result.
2022-10-27 13:23:26 +00:00
Matthias Krüger
ae4dc12519
Rollup merge of #103616 - rust-lang:notriddle/moz-box-sizing, r=GuillaumeGomez
rustdoc: remove CSS workaround for Firefox 29

CSS variables, which rustdoc now relies on, are only supported in Firefox 31 and later: https://www.mozilla.org/en-US/firefox/31.0/releasenotes/

This means it’s fine to also rely on unprefixed box-sizing, which is supported in Firefox 29 and later: https://www.mozilla.org/en-US/firefox/29.0/releasenotes/
2022-10-27 15:03:58 +02:00
Matthias Krüger
5623024cf8
Rollup merge of #103505 - notriddle:notriddle/rustdoc-self-closing-tags, r=GuillaumeGomez
rustdoc: parse self-closing tags and attributes in `invalid_html_tags`

Fixes #103460
2022-10-27 15:03:57 +02:00
Matthias Krüger
571771e54a
Rollup merge of #103408 - compiler-errors:rpitit-rustdoc, r=GuillaumeGomez
Clean return-position `impl Trait` in traits correctly in rustdoc

Fixes #103403
2022-10-27 15:03:56 +02:00
Matthias Krüger
6d43dfb7bb
Rollup merge of #103110 - RalfJung:manual-send, r=thomcc
remove redundant Send impl for references

Also explain why the other instance is not redundant, move it next to the trait they are implementing, and out of the redundant module. This seems to go back all the way to 35ca50bd56, not sure why the module was added.

The instance for `&mut` is the default instance we get anyway, and we don't have anything similar for `Sync`, so IMO we should be consistent and not have the redundant instance here, either.
2022-10-27 15:03:55 +02:00
Guillaume Gomez
71e824de26 Add tests for source line numbers colors 2022-10-27 13:07:32 +02:00
Guillaume Gomez
0185be2ce4 Migrate line numbers CSS to CSS variables 2022-10-27 13:07:07 +02:00
bors
0da281b606 Auto merge of #103623 - matthiaskrgr:rollup-318yc1t, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #103035 (Even nicer errors from assert_unsafe_precondition)
 - #103106 (Try to say that memory outside the AM is always exposed)
 - #103475 (Make param index generation a bit more robust)
 - #103525 (Move a wf-check into the site where the value is instantiated)
 - #103564 (library: allow some unused things in Miri)
 - #103586 (Process registered region obligation in `resolve_regions_with_wf_tys`)
 - #103592 (rustdoc: remove redundant CSS selector `.notable-traits .notable`)
 - #103593 (Remove an unused parser function (`Expr::returns`))
 - #103611 (Add test for issue 103574)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-27 10:05:16 +00:00
Ralf Jung
50af895ef7 change cronjob time 2022-10-27 09:36:40 +02:00
Byron Zhong
a10737c37a Add a test for issue #101637 2022-10-27 02:34:27 -05:00
Matthias Krüger
2252f7aa78
Rollup merge of #103611 - Rageking8:fix-103574, r=lcnr
Add test for issue 103574

Fixes #103574

Together with some slight formatting.

r? `@lcnr`
2022-10-27 09:25:12 +02:00
Matthias Krüger
29698dc38a
Rollup merge of #103592 - notriddle:notriddle/notable-traits-notable, r=GuillaumeGomez
rustdoc: remove redundant CSS selector `.notable-traits .notable`

The margin was already being set to 0 only a few lines lower.
2022-10-27 09:25:11 +02:00
Matthias Krüger
bf53e712c0
Rollup merge of #103586 - compiler-errors:issue-103573, r=jackh726
Process registered region obligation in `resolve_regions_with_wf_tys`

Fixes #103573
2022-10-27 09:25:11 +02:00
Matthias Krüger
2bd49c34e5
Rollup merge of #103525 - oli-obk:const_impl_on_non_const_trait, r=lcnr
Move a wf-check into the site where the value is instantiated

r? ``@lcnr``
2022-10-27 09:25:10 +02:00
bors
9dd3d29ec8 Auto merge of #103601 - compiler-errors:no-opaque-probe-in-nll-relate, r=oli-obk
Remove `commit_if_ok` probe from NLL type relation

It was not really necessary to add the `commit_if_ok` in #100092 -- I added it to protect us against weird inference error messages due to recursive RPIT calls, but we are always on the error path when this happens anyways, and I can't come up with an example that makes this manifest.

Fixes #103599

r? `@oli-obk` since you reviewed #100092, feel free to re-roll.

🅱️ 📢  beta-nominating this since it's on beta (which forks in ~a week~ two days 😨) -- worst case we could revert the original PR on beta and land this on nightly, to give it some extra soak time...
2022-10-27 07:24:39 +00:00
Jakob Degen
51b03639d6 Move mir building mir-opt tests to own directory 2022-10-27 00:21:57 -07:00
Jakob Degen
c4c4c566d0 Replace mir_map.0 dump with built phase change dump 2022-10-27 00:21:57 -07:00