Commit Graph

214944 Commits

Author SHA1 Message Date
Yuki Okushi
9a2f3937fc
Rollup merge of - compiler-errors:missing-generics-verbose, r=estebank
Render missing generics suggestion verbosely

It's a bit easier to read like this, especially ones that are appending new generics onto an existing list, like ": `, T`" which render somewhat poorly inline.

Also don't suggest `dyn` as a type parameter to add, even if technically that's valid in edition 2015.
2023-01-13 16:54:22 +09:00
bors
279f1c9d8c Auto merge of - fee1-dead-contrib:const-closures, r=oli-obk
Const closures

cc https://github.com/rust-lang/rust/issues/106003
2023-01-13 05:04:48 +00:00
bors
bfffe406fb Auto merge of - Rejyr:diagnostic-migration-rustc-lint-pt2, r=davidtwco
Migrate `rustc_lint` lint diagnostics

Part 2 of [Migrate `rustc_lint` errors to `SessionDiagnostic`](https://github.com/rust-lang/rust/pull/100776)

r? `@davidtwco`

# TODO
- [x] Refactor some lints manually implementing `DecorateLint` to use `Option<Subdiagnostic>`.
- [x] Add `#[rustc_lint_diagnostics]` to lint functions in `context.rs`.
- [x] Migrate `hidden_unicode_codepoints.rs`.
- [x] Migrate `UnsafeCode` in `builtin.rs`.
- [x] Migrate the rest of `builtin.rs`.
2023-01-13 02:13:00 +00:00
bors
86ad69d4c6 Auto merge of - JohnTitor:rollup-8f4vk8m, r=JohnTitor
Rollup of 8 pull requests

Successful merges:

 -  (Stabilize `abi_efiapi` feature)
 -  ([LSDA] Take ttype_index into account when taking unwind action)
 -  (Mark ZST as FFI-safe if all its fields are PhantomData)
 -  (Adding a hint on iterator type errors)
 -  (Fix reexport of `doc(hidden)` item)
 -  (Revert "Make nested RPITIT inherit the parent opaque's generics.")
 -  (Re-add mw to review rotation)
 -  (Exclude formatting commit from blame)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-12 22:58:14 +00:00
Michael Goulet
bf0623e363 Don't suggest dyn as parameter to add 2023-01-12 22:04:30 +00:00
Michael Goulet
950b47fb96 Render missing generics suggestion verbosely 2023-01-12 22:04:30 +00:00
Yuki Okushi
8dc8e3ce36
Rollup merge of - RReverser:patch-1, r=dtolnay
Exclude formatting commit from blame

Excludes c34fbfaad3 (cc `@dtolnay)` to make Git blame a bit more useful.
2023-01-13 05:47:25 +09:00
Yuki Okushi
174c6c7098
Rollup merge of - michaelwoerister:triagebot-rotation, r=wesleywiser
Re-add mw to review rotation

r? `@wesleywiser`
2023-01-13 05:47:24 +09:00
Yuki Okushi
bbb2a22ced
Rollup merge of - compiler-errors:revert-105255, r=cjgillot
Revert "Make nested RPITIT inherit the parent opaque's generics."

This reverts commit e2d41f4c97, and adjusts the `tests/ui/async-await/in-trait/nested-rpit.rs` test.

r? `@cjgillot`

fixes , manually verified because it had no minimization :/

reopens 
cc 
2023-01-13 05:47:24 +09:00
Yuki Okushi
ea45b3ef1d
Rollup merge of - GuillaumeGomez:reexport-doc-hidden, r=notriddle
Fix reexport of `doc(hidden)` item

Part of .

It doesn't fix the `doc(inline)` nor the `doc(hidden)` on macro. I'll do it in a follow-up PR.

r? `@notriddle`
2023-01-13 05:47:23 +09:00
Yuki Okushi
7e5d477ac5
Rollup merge of - petar-dambovaliev:float-iterator-hint, r=Nilstrieb
Adding a hint on iterator type errors

Issue reference https://github.com/rust-lang/rust/issues/106728

- [x] add a case in the attribute
- [x] add a test

closes 
2023-01-13 05:47:23 +09:00
Yuki Okushi
19ba4305b9
Rollup merge of - krtab:fix_improper_ctypes, r=davidtwco
Mark ZST as FFI-safe if all its fields are PhantomData

This presents one possible solution to issue: .

This is my first (tentative) contribution to the compiler itself.

I'm looking forward for comments and feedback

Closes: 
2023-01-13 05:47:22 +09:00
Yuki Okushi
3f21b812be
Rollup merge of - bzEq:fix-unwind-lsda, r=Amanieu
[LSDA] Take ttype_index into account when taking unwind action

If `cs_action != 0`, we should check the `ttype_index` field in action record. If `ttype_index == 0`, a clean up action is taken; otherwise catch action is taken.

This can fix unwind failure on AIX which uses LLVM's libunwind by default. IIUC, rust's LSDA is borrowed from c++ and I'm assuming itanium-cxx-abi https://itanium-cxx-abi.github.io/cxx-abi/exceptions.pdf should be followed, so the fix follows what libcxxabi does. See ec48682ce9/libcxxabi/src/cxa_personality.cpp (L152) for use of `ttype_index`.
2023-01-13 05:47:21 +09:00
Yuki Okushi
fa8f77a1de
Rollup merge of - nicholasbishop:bishop-stabilize-efiapi, r=joshtriplett
Stabilize `abi_efiapi` feature

Tracking issue: https://github.com/rust-lang/rust/issues/65815
Closes 
2023-01-13 05:47:21 +09:00
bors
61a415be59 Auto merge of - flip1995:clippyup, r=Manishearth
Update Clippy

r? `@Manishearth`
2023-01-12 20:05:18 +00:00
Philipp Krones
01c75848eb
Merge commit '7f27e2e74ef957baa382dc05cf08df6368165c74' into clippyup 2023-01-12 19:48:13 +01:00
bors
7f27e2e74e Auto merge of - Jarcho:revert_9701, r=flip1995
Partially revert 

This partially reverts  due to 

r? `@flip1995`

changelog: None
2023-01-12 18:47:17 +00:00
Jason Newcomb
757e944ba6 Adjust old code for newer rustc version. 2023-01-12 13:29:23 -05:00
Jason Newcomb
5eed9c69ca Revert 4dbd8ad34e, c7dc961558, ed519ad746 and c6477eb711 2023-01-12 13:28:22 -05:00
bors
0b8ee70084 Auto merge of - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2023-01-12 18:13:13 +00:00
Philipp Krones
cd76d574e4
Also add rustc_driver to clippy_utils
I'm not sure why this is necessary. It worked without this for me
locally, but this fails in CI. The same was done in clippy_dev
2023-01-12 19:12:06 +01:00
Philipp Krones
616b6d2be1
Bump nightly version -> 2023-01-12 2023-01-12 19:00:16 +01:00
Philipp Krones
631481ffb3
Merge remote-tracking branch 'upstream/master' into rustup 2023-01-12 18:59:59 +01:00
Ingvar Stepanyan
5b51a8ef4f
Exclude formatting commit from blame
Excludes c34fbfaad3 to make Git blame a bit more useful.
2023-01-12 17:40:48 +00:00
bors
f9ca9d4112 Auto merge of - jyn514:duplicate-sysroot, r=flip1995
Don't pass `--sysroot` twice if SYSROOT is set

This is useful for rust-lang/rust to allow setting a sysroot that's *only* for build scripts, different from the regular sysroot passed in RUSTFLAGS (since cargo doesn't apply RUSTFLAGS to build scripts or proc-macros).

That said, the exact motivation is not particularly important: this fixes a regression from
5907e9155e (r1060215684).

Note that only RUSTFLAGS is tested in the new integration test; passing --sysroot through `clippy-driver` never worked as far as I can tell, and no one is using it, so I didn't fix it here.

Helps with https://github.com/rust-lang/rust/pull/106394.

---

changelog: other: `SYSROOT` and `--sysroot` can now be set at the same time
[](https://github.com/rust-lang/rust-clippy/pull/10149)
<!-- changelog_checked -->
2023-01-12 17:36:00 +00:00
Philipp Krones
fe007179ec
Add cargo-clippy sysroot test
Whne SYSROOT is defined, clippy-driver will insert a --sysroot argument
when calling rustc. However, when a sysroot argument is already defined,
e.g. through RUSTFLAGS=--sysroot=... the `cargo clippy` call would
error. This tests that the sysroot argument is only passed once and that
SYSROOT is ignored in this case.
2023-01-12 18:32:47 +01:00
Joshua Nelson
321c530fad
Don't pass --sysroot twice if SYSROOT is set
This is useful for rust-lang/rust to allow setting a sysroot that's
*only* for build scripts, different from the regular sysroot passed in
RUSTFLAGS (since cargo doesn't apply RUSTFLAGS to build scripts or
proc-macros).

That said, the exact motivation is not particularly important: this
fixes a regression from
5907e9155e (r1060215684).

Note that only RUSTFLAGS is tested in the new integration test; passing
--sysroot through `clippy-driver` never worked as far as I can tell, and
no one is using it, so I didn't fix it here.
2023-01-12 18:32:47 +01:00
bors
1bc3683b32 Auto merge of - Nilstrieb:rollup-sq73pyg, r=Nilstrieb
Rollup of 6 pull requests

Successful merges:

 -  (Support eager subdiagnostics again)
 -  (Handle inference variables in `CollectAllMismatches` correctly)
 -  (Suggest making private tuple struct field public)
 -  (remove unreachable error code `E0490`)
 -  (Fix rendering 'const' in header for intrinsics)
 -  (Add `WaffleLapkin` to compiler reviewers)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-12 17:11:03 +00:00
Guillaume Gomez
675640c92a Add test for displayed re-export of doc(hidden) 2023-01-12 18:03:50 +01:00
Guillaume Gomez
2633d5f5d0 Fix not displayed re-export of doc(hidden) item 2023-01-12 18:03:03 +01:00
bors
decaba97cc Auto merge of - robertbastian:master, r=xFrednet
Allow implementing `Hash` with derived `PartialEq` (`derive_hash_xor_eq`

This is a common pattern and is totally allowed by the `Hash` trait.

Fixes 

changelog: Move: Renamed `derive_hash_xor_eq` to [`derived_hash_with_manual_eq`]
[](https://github.com/rust-lang/rust-clippy/pull/10184)
changelog: Enhancement: [`derived_hash_with_manual_eq`]: Now allows `#[derive(PartialEq)]` with custom `Hash` implementations
[](https://github.com/rust-lang/rust-clippy/pull/10184)
<!-- changelog_checked -->
2023-01-12 14:59:41 +00:00
nils
89f9569d54
Rollup merge of - WaffleLapkin:waffle-is-CompilerReviewer, r=oli-obk
Add `WaffleLapkin` to compiler reviewers

r? ``@wesleywiser``
2023-01-12 15:44:53 +01:00
nils
e9b70693fa
Rollup merge of - clubby789:const-intrinsic, r=GuillaumeGomez
Fix rendering 'const' in header for intrinsics

Fixes 
2023-01-12 15:44:53 +01:00
nils
c61f29ca52
Rollup merge of - Ezrashaw:remove-e0490, r=davidtwco
remove unreachable error code `E0490`

AFAIK, the untested and undocumented error code `E0490` is now unreachable, it was from the days of the original borrow checker.

cc ``@GuillaumeGomez`` 
2023-01-12 15:44:52 +01:00
nils
25fd633828
Rollup merge of - estebank:issue-52144, r=Nilstrieb
Suggest making private tuple struct field public

Fix .
2023-01-12 15:44:51 +01:00
nils
35cf81d707
Rollup merge of - compiler-errors:CollectAllMismatches-infer-vars, r=oli-obk
Handle inference variables in `CollectAllMismatches` correctly

1. Fix 
2. Treat int/float type variables correctly (see `src/test/ui/iterators/invalid-iterator-chain-with-int-infer.rs`), so we can point out things like "`Iterator::Item` changed to `{integer}` here"
2023-01-12 15:44:51 +01:00
nils
6bf57b8110
Rollup merge of - mejrs:eager2, r=davidtwco
Support eager subdiagnostics again

See https://github.com/rust-lang/rust/pull/104941#discussion_r1051135746

I'm not sure how to add a test for this. But I did pick some of the diagnostic structs in the mentioned PR and it works with them.
2023-01-12 15:44:50 +01:00
Michael Woerister
86168c3810 Add mw to triagebot.toml 2023-01-12 15:36:15 +01:00
Petar Dambovaliev
bdf990022a add note for float iterator 2023-01-12 15:29:53 +01:00
bors
222d1ff68d Auto merge of - oli-obk:non_repeatable_queries, r=petrochenkov
Harden the pre-tyctxt query system against accidental recomputation

While the current compiler has no issues where we `take` and then compute the query again, in https://github.com/rust-lang/rust/pull/105462 I accidentally introduced such a case.

I also took the opportunity to remove `peek_mut`, which is only ever used for `global_tcx` to then invoke `enter`. I added an `enter` method directly on the query.
2023-01-12 13:59:30 +00:00
Robert Bastian
920633258f fix 2023-01-12 14:22:18 +01:00
bors
7c01721434 Auto merge of - llogiq:trim-suspicious-to-owned-paths, r=xFrednet
trim paths in `suspicious_to_owned`

This continues my path trimming spree. I'm not going to add yet another changelog entry, we should have one "trim paths in some applicable lints" entry instead.

---

changelog: none
2023-01-12 12:10:56 +00:00
Arthur Carcano
797f247997 Mark ZST as FFI-safe if all its fields are PhantomData
Modify the linting behavior and add the corresponding
regression test
2023-01-12 12:21:35 +01:00
bors
606c390725 Auto merge of - compiler-errors:rollup-0bogyco, r=compiler-errors
Rollup of 8 pull requests

Successful merges:

 -  (doc: rewrite doc for signed int::{carrying_add,borrowing_sub})
 -  (Stabilize `::{core,std}::pin::pin!`)
 -  (Migrate mir_build diagnostics 2 of 3)
 -  (Move autoderef to `rustc_hir_analysis`)
 -  (Stabilize f16c_target_feature)
 -  (Tweak E0277 `&`-removal suggestions)
 -  (Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch)
 -  (Remove `<dyn AstConv<'tcx>>::fun(c, ...)` calls in favour of `c.astconv().fun(...)`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-12 10:46:19 +00:00
Oli Scherer
58782a8842 Harden the pre-tyctxt query system against accidental recomputation 2023-01-12 09:26:28 +00:00
bors
2b8590ef3b Auto merge of - matthiaskrgr:rollup-9j8830g, r=matthiaskrgr
Rollup of 10 pull requests

Successful merges:

 -  (Fix invalid syntax and incomplete suggestion in impl Trait parameter type suggestions for E0311)
 -  (Prefer non-`[type error]` candidates during selection)
 -  (Allow codegen to unsize `dyn*` to `dyn`)
 -  (Hide more of long types in E0271)
 -  (std tests: use __OsLocalKeyInner from realstd)
 -  (Test that we cannot use trait impl methods arguments as defining uses)
 -  (Conserve cause of `ImplDerivedObligation` in E0599)
 -  (rustc_llvm: replace llvm::makeArrayRef with ArrayRef constructors.)
 -  (Revert "warn newer available version of the x tool")
 -  (Clean up `OnUnimplementedFormatString::verify`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-12 07:40:32 +00:00
Maybe Waffle
fb0ecc0288 Add WaffleLapkin to compiler reviewers 2023-01-12 06:53:06 +00:00
Michael Goulet
9ec36f5668
Rollup merge of - WaffleLapkin:astconv, r=estebank
Remove `<dyn AstConv<'tcx>>::fun(c, ...)` calls in favour of `c.astconv().fun(...)`

This removes the need for <>><><><<>> dances and makes the code a bit nicer.

Not sure if `astconv` is the best name though, maybe someone has a better idea?
2023-01-11 22:25:50 -08:00
Michael Goulet
d7113948d3
Rollup merge of - compiler-errors:constructor-note, r=cjgillot
Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch

Fixes 
2023-01-11 22:25:49 -08:00
Michael Goulet
54f6fea818
Rollup merge of - estebank:remove-borrow-suggestion, r=compiler-errors
Tweak E0277 `&`-removal suggestions

Fix , fix .
2023-01-11 22:25:49 -08:00