Commit Graph

212478 Commits

Author SHA1 Message Date
Michael Howell 79bb6ec9ef rustdoc: add CSS margin between impl docblock and its items 2022-12-13 17:03:41 -07:00
bors 0f529f0f49 Auto merge of #102813 - Akida31:issue-64915/simpler_diagnostic_when_passing_arg_to_closure_and_missing_borrow, r=estebank
Simpler diagnostic when passing arg to closure and missing borrow

fixes #64915

I followed roughly the instructions and the older PR #76362.
The number of references for the expected and the found types will be compared and depending on which has more the diagnostic will be emitted.

I'm not quite sure if my approach with the many `span_bug!`s is good, it could lead to some ICEs. Would it be better if  those errors are ignored?

As far as I know the following code works similarly but in a different context. Is this probably reusable since it looks like it would emit better diagnostics?
https://github.com/rust-lang/rust/blob/a688a0305fad9219505a8f2576446510601bafe8/compiler/rustc_hir_analysis/src/check/demand.rs#L713-L1061

When running the tests locally, a codegen test failed. Is there something I can/ should do about that?

If you have some improvements/ corrections please say so and I will happily include them.

r? `@estebank` (as you added the mentoring instructions to the issue)
2022-12-13 18:46:35 +00:00
akida31 05bc2513ef fix tests 2022-12-13 18:24:18 +01:00
bors aa5b179599 Auto merge of #105646 - lqd:revert-thinlto, r=Mark-Simulacrum
Revert "enable ThinLTO for rustc on x86_64-apple-darwin dist builds"

Apparently ThinLTO on x64 mac can regress some of the ICEs' output. This reverts #103647 to allow for investigation, and helps with #105637 in the meantime.
2022-12-13 15:50:16 +00:00
akida31 757396f5fe tidy: ignore filelength 2022-12-13 16:37:44 +01:00
akida31 f780faa8c4 reduce to single suggestion for all arguments 2022-12-13 16:30:04 +01:00
akida31 4d87fb5d11 remove manual fn_decl extraction 2022-12-13 16:29:13 +01:00
akida31 7822822d51 change error message 2022-12-13 16:29:10 +01:00
akida31 b1d7430657 move changes to an extra function 2022-12-13 16:28:34 +01:00
akida31 e326e8c885 Remove hint from help message 2022-12-13 16:28:31 +01:00
akida31 e50f5756aa Fix stderr of tests which have improved diagnostics 2022-12-13 16:27:21 +01:00
akida31 1e5d772417 Improve diagnostic when passing arg to closure and missing borrow.
This checks the number of references for the given and expected type and
shows hints to the user if the numbers don't match.
2022-12-13 16:24:38 +01:00
bors ed620cf969 Auto merge of #105612 - oli-obk:bind_rustdoc, r=GuillaumeGomez
use ty::Binder in rustdoc instead of `skip_binder`

r? `@GuillaumeGomez`

this is a preliminary cleanup required to be able to normalize correctly/conveniently in rustdoc
2022-12-13 13:09:40 +00:00
bors 109cccbe4f Auto merge of #105350 - compiler-errors:faster-binder-relate, r=oli-obk
Fast-path some binder relations

A simpler approach than #104598

Fixes #104583

r? types
2022-12-13 07:10:53 +00:00
bors 71ec1457ee Auto merge of #105436 - nnethercote:inline-place_contents_drop_state_cannot_differ, r=spastorino
Inline and remove `place_contents_drop_state_cannot_differ`.

It has a single call site and is hot enough to be worth inlining. And make sure `is_terminal_path` is inlined, too.

r? `@ghost`
2022-12-13 03:28:57 +00:00
Michael Goulet 2025a96ee1 Fast path some binder relations 2022-12-13 03:17:14 +00:00
Rémy Rakic ddb6fe2e1d Revert "enable ThinLTO for rustc on x86_64-apple-darwin dist builds"
This reverts commit 3a085f7695.
2022-12-13 01:11:54 +00:00
bors b96d9e0e20 Auto merge of #105644 - matthiaskrgr:rollup-qc6hlzq, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #104864 (Account for item-local in inner scope for E0425)
 - #105332 (Point out the type of associated types in every method call of iterator chains)
 - #105620 (Remove unnecessary uses of `clone`)
 - #105625 (minor code cleanups)
 - #105629 (rustdoc: stop treating everything in a trait item as a method)
 - #105636 (Add check for local-storage value when changing "display line numbers" settings)
 - #105639 (rustdoc: remove `type="text/css" from stylesheet links)
 - #105640 (Adjust miri to still be optional)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-12-13 00:29:28 +00:00
Matthias Krüger 5af04471aa Rollup merge of #105640 - lukas-code:miri-beta, r=Mark-Simulacrum
Adjust miri to still be optional

r? `@pietroalbini`
2022-12-13 01:17:12 +01:00
Matthias Krüger 84a725e4e3 Rollup merge of #105639 - notriddle:notriddle/text-css, r=GuillaumeGomez
rustdoc: remove `type="text/css" from stylesheet links

MDN directly recommends this in <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link>, since "CSS is the only stylesheet language used on the web."

Like 07a243b2a4, but a few places that were missed the first time.
2022-12-13 01:17:12 +01:00
Matthias Krüger 8ba9c211bb Rollup merge of #105636 - GuillaumeGomez:extend-gui-test, r=notriddle
Add check for local-storage value when changing "display line numbers" settings

r? `@notriddle`
2022-12-13 01:17:11 +01:00
Matthias Krüger 105e398349 Rollup merge of #105629 - notriddle:notriddle/method-toggle-trait, r=GuillaumeGomez
rustdoc: stop treating everything in a trait item as a method

This was added in 0b9b4b7068 to fix the spacing on trait pages, but stopped being needed because 791f04e5a4 stopped styling method-toggle. By only putting the method-toggle class on actual methods, the JS setting does the right thing.
2022-12-13 01:17:11 +01:00
Matthias Krüger 2707801858 Rollup merge of #105625 - matthiaskrgr:clippy_dec12, r=compiler-errors
minor code cleanups

r? `@compiler-errors`
2022-12-13 01:17:10 +01:00
Matthias Krüger 4069792d73 Rollup merge of #105620 - TaKO8Ki:remove-unnecessary-uses-of-clone, r=compiler-errors
Remove unnecessary uses of `clone`
2022-12-13 01:17:10 +01:00
Matthias Krüger 8917cc0f23 Rollup merge of #105332 - estebank:iterator-chains, r=oli-obk
Point out the type of associated types in every method call of iterator chains

Partially address #105184 by pointing out the type of associated types in every method call of iterator chains:

```
note: the expression is of type `Map<std::slice::Iter<'_, {integer}>, [closure@src/test/ui/iterators/invalid-iterator-chain.rs:12:18: 12:21]>`
    --> src/test/ui/iterators/invalid-iterator-chain.rs:12:14
     |
10   |         vec![0, 1]
     |         ---------- this expression has type `Vec<{integer}>`
11   |             .iter()
     |              ------ associated type `std::iter::Iterator::Item` is `&{integer}` here
12   |             .map(|x| { x; })
     |              ^^^^^^^^^^^^^^^ associated type `std::iter::Iterator::Item` is `()` here
```

We also reduce the number of impls we mention when any of the candidates is an "exact match". This benefits the output of cases with numerics greatly.

Outstanding work would be to provide a structured suggestion for appropriate changes, like in this case detecting the spurious `;` in the closure.
2022-12-13 01:17:09 +01:00
Matthias Krüger 6dbaf86672 Rollup merge of #104864 - chenyukang:yukang/fix-104700-binding, r=estebank
Account for item-local in inner scope for E0425

Fixes #104700
2022-12-13 01:17:08 +01:00
Mark Rousskov 4ac8190287 Adjust miri to still be optional
We don't distribute a miri build for beta/stable so it needs to be kept
optional. In the future it likely makes sense to switch the miri
*artifacts* to always be built, but the rustup component to not be
included -- this will avoid some of this pain.
2022-12-13 00:01:20 +01:00
Michael Howell 46b4a3b831 rustdoc: remove `type="text/css" from stylesheet links
MDN directly recommends this in <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link>,
since "CSS is the only stylesheet language used on the web."

Like 07a243b2a4, but a few places that were
missed the first time.
2022-12-12 15:17:49 -07:00
Guillaume Gomez 21a2b64209 Add check for local-storage value when changing "display line numbers" settings 2022-12-12 22:49:19 +01:00
bors ed9749324a Auto merge of #105622 - matthiaskrgr:rollup-a6i81q7, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #104405 (1.66.0 release notes)
 - #105561 (Normalize receiver substs and erase the regions)
 - #105593 (Fix typo in comment: length_limit)
 - #105597 (Correct typos in `core::sync::Exclusive::get_{pin_mut, mut}`)
 - #105614 (delete mentions of type ascription from lint descriptions)
 - #105615 (Fixup method doc that mentions removed param)
 - #105616 (Add a "the" to proc_macro documentation)
 - #105619 (rustdoc: remove no-op CSS `.source pre { overflow: auto }`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-12-12 21:34:28 +00:00
Esteban Küber f4ed2d1cca Do not skip_binders 2022-12-12 11:53:39 -08:00
Michael Howell 7e64cebf97 rustdoc: stop treating everything in a trait item as a method
This was added in 0b9b4b7068 to fix the
spacing on trait pages, but stopped being needed because
791f04e5a4 stopped styling method-toggle.
By only putting the method-toggle class on actual methods, the JS setting
does the right thing.
2022-12-12 12:49:29 -07:00
Matthias Krüger 2ea368e53c minor code cleanups 2022-12-12 19:49:53 +01:00
Matthias Krüger ab29c0459c Rollup merge of #105619 - notriddle:notriddle/source-pre-overflow, r=GuillaumeGomez
rustdoc: remove no-op CSS `.source pre { overflow: auto }`

Since source pages use the `example-wrap` wrapper, this rule became redundant because there is already an `overflow-x: auto` rule.
2022-12-12 19:20:38 +01:00
Matthias Krüger f5852c41a0 Rollup merge of #105616 - est31:add_the, r=Dylan-DPC
Add a "the" to proc_macro documentation
2022-12-12 19:20:37 +01:00
Matthias Krüger 666366444c Rollup merge of #105615 - WaffleLapkin:remove_opt_scope_span_mention, r=compiler-errors
Fixup method doc that mentions removed param

The param was removed in https://github.com/rust-lang/rust/pull/61872 (101a2f59b4)
2022-12-12 19:20:36 +01:00
Matthias Krüger c8b07c0529 Rollup merge of #105614 - lukas-code:ascription, r=Nilstrieb
delete mentions of type ascription from lint descriptions

Tracking Issue: https://github.com/rust-lang/rust/issues/101728
2022-12-12 19:20:36 +01:00
Matthias Krüger 968ba7d2db Rollup merge of #105597 - albertlarsan68:patch-1, r=Dylan-DPC
Correct typos in `core::sync::Exclusive::get_{pin_mut, mut}`
2022-12-12 19:20:35 +01:00
Matthias Krüger 38d97d3ea7 Rollup merge of #105593 - jruderman:patch-3, r=Dylan-DPC
Fix typo in comment: length_limit
2022-12-12 19:20:35 +01:00
Matthias Krüger f4cca46078 Rollup merge of #105561 - TaKO8Ki:fix-105449, r=fee1-dead
Normalize receiver substs and erase the regions

Fixes #105449
2022-12-12 19:20:34 +01:00
Matthias Krüger d539628960 Rollup merge of #104405 - Mark-Simulacrum:relnotes, r=pietroalbini
1.66.0 release notes

r? ``@tmandry`` ``@rust-lang/release``
2022-12-12 19:20:33 +01:00
Esteban Küber 348386985d Move logic to their own methods 2022-12-12 09:23:36 -08:00
Takayuki Maeda ee40a67cd9 remove unnecessary uses of clone 2022-12-13 02:06:24 +09:00
Michael Howell bfc50d0534 rustdoc: remove no-op CSS .source pre { overflow: auto }
Since source pages use the `example-wrap` wrapper, this rule became
redundant because there is already an `overflow-x: auto` rule.
2022-12-12 10:02:04 -07:00
Lukas Markeffsky 6abffffdff delete mentions of type ascription from lint descriptions
Move it to the historical context section instead.
2022-12-12 17:43:15 +01:00
Maybe Waffle 613c1216b7 Fixup method doc that mentions removed param 2022-12-12 15:43:04 +00:00
est31 3c809b3c5c Add a "the" to proc_macro documentation 2022-12-12 16:19:18 +01:00
Oli Scherer 30754517d1 Avoid trying to normalize unnormalizable types 2022-12-12 14:39:08 +00:00
Oli Scherer 21917b0866 Round 3: require binders for substs 2022-12-12 13:20:36 +00:00
Takayuki Maeda 3bc54baa61 normalize receiver substs and erase the regions
use a smaller example
2022-12-12 22:16:51 +09:00