许杰友 Jieyou Xu (Joe)
ec2cc761bc
[AUTO-GENERATED] Migrate ui tests from //
to //@
directives
2024-02-16 20:02:50 +00:00
Oli Scherer
5f6390f947
Continue compilation after check_mod_type_wf errors
2024-02-14 11:00:30 +00:00
Esteban Küber
3691ab8e7a
Use only one label for multiple unsatisfied bounds on type (astconv)
2024-01-26 20:47:11 +00:00
lcnr
058ab53dc5
use implied bounds compat mode in MIR borrowck
2024-01-19 15:27:32 +01:00
Jack Huey
a9e30e6cdf
Don't use compat versions of implied bounds in ImpliedOutlivesBounds query
2024-01-17 22:03:06 -05:00
George-lewis
d56cdd48cb
Bless tests
...
Update tests
2024-01-13 12:46:58 -05:00
Oli Scherer
af7f8f9811
Silence follow up errors if astconv already errored
2024-01-11 09:03:26 +00:00
Oli Scherer
0978f6e010
Avoid silencing relevant follow-up errors
2024-01-09 21:08:16 +00:00
Eric Holk
aaa3e7642b
Update test outputs
2023-12-22 11:01:07 -08:00
lcnr
11d16c4082
update use of feature flags
2023-12-14 15:22:37 +01:00
Santiago Pastorino
440f46dc16
Get rid of infer vars in inherent assoc types selection by using probe
2023-11-25 17:48:09 -03:00
Santiago Pastorino
8694b0973a
Do not erase late bound regions, replace them with placeholders
2023-11-25 15:31:39 -03:00
Nilstrieb
41e8d152dc
Show number in error message even for one error
...
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
2023-11-24 19:15:52 +01:00
Oli Scherer
beaf46f7e5
Work around the fact that check_mod_type_wf
may spuriously return ErrorGuaranteed
, even if that error is only emitted by check_modwitem_types
2023-10-25 12:04:54 +00:00
Esteban Küber
890e92feed
Unify suggestion wording
2023-10-17 17:33:55 +00:00
Ali MJ Al-Nasrawy
a8830631b9
remove trailing dots
2023-10-08 10:06:17 +00:00
Ali MJ Al-Nasrawy
996ffcb718
always show and explain sub region
2023-10-08 09:59:51 +00:00
Ali MJ Al-Nasrawy
5be0b2283a
improve the suggestion of generic_bound_failure
2023-10-08 09:56:57 +00:00
Alex Macleod
5453a9f34d
Add a note to duplicate diagnostics
2023-10-05 01:04:41 +00:00
Michael Goulet
d6ce9ce115
Don't store lazyness in DefKind
2023-09-26 02:53:59 +00:00
Eduardo Sánchez Muñoz
c599761140
rustc_hir_analysis: add a helper to check function the signature mismatches
...
This function is now used to check `#[panic_handler]`, `start` lang item, `main`, `#[start]` and intrinsic functions.
The diagnosis produced are now closer to the ones produced by trait/impl method signature mismatch.
2023-09-19 18:15:23 +02:00
bors
1accf068d8
Auto merge of #113126 - Bryanskiy:delete_old, r=petrochenkov
...
Replace old private-in-public diagnostic with type privacy lints
Next part of RFC https://github.com/rust-lang/rust/issues/48054 .
r? `@petrochenkov`
2023-09-01 12:40:01 +00:00
León Orell Valerian Liehr
6f5d8556ca
Handle inherent associated types fallout
2023-08-03 02:18:52 +02:00
Bryanskiy
e26614e6a7
Replace old private-in-public diagnostic with type privacy lints
2023-08-02 13:40:28 +03:00
nxya
a54a66830d
moved note as unspanned note, moved note to the bottom of the msg
2023-07-18 21:53:34 -04:00
nxya
e6e8892051
added links as a note
2023-07-18 09:27:35 -04:00
nxya
f92a9f6808
add links to query documentation for E0391
2023-07-18 09:27:26 -04:00
nxya
bef91ee687
added links as a note
2023-07-18 09:20:25 -04:00
nxya
c429a72db9
add links to query documentation for E0391
2023-07-18 09:20:25 -04:00
Michael Goulet
085ae9e8b4
Add support for inherent projections
2023-07-16 21:14:38 +00:00
Guillaume Gomez
157bab670f
Rollup merge of #113286 - fmease:iat-dont-select-if-not-enabled, r=compiler-errors
...
Don't perform selection if inherent associated types are not enabled
Fixes #113265 .
As discussed
r? `@compiler-errors`
2023-07-03 18:46:14 +02:00
León Orell Valerian Liehr
838f85d6f7
Don't perform selection if IATs are not enabled
2023-07-03 14:33:38 +02:00
lcnr
30ed152330
update tests
2023-07-03 09:12:15 +02:00
Bryanskiy
35c6a1d0f3
Fix type privacy lints error message
2023-06-29 16:24:07 +03:00
Matthias Krüger
42a495da7e
Rollup merge of #112670 - petrochenkov:typriv, r=eholk
...
privacy: Type privacy lints fixes and cleanups
See individual commits.
Follow up to https://github.com/rust-lang/rust/pull/111801 .
2023-06-29 05:48:39 +02:00
Yuki Okushi
abe52cdcc7
Add a regression test for #109071
...
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2023-06-25 23:01:06 +09:00
Vadim Petrochenkov
d326aed46f
privacy: Feature gate new type privacy lints
2023-06-15 21:25:47 +03:00
bors
77dba225c1
Auto merge of #111801 - Bryanskiy:lints1, r=petrochenkov
...
Private-in-public lints implementation
Next part of RFC https://github.com/rust-lang/rust/issues/48054 .
r? `@petrochenkov`
2023-06-11 22:18:23 +00:00
Bryanskiy
6d46382f6f
Private-in-public lints implementation
2023-06-12 01:02:19 +03:00
León Orell Valerian Liehr
a995255cf5
iat selection: normalize self ty & completely erase bound vars
2023-06-11 00:19:47 +02:00
León Orell Valerian Liehr
4a63b07d24
Add tests for pretty-printing inherent projections
2023-05-24 01:17:38 +02:00
Urgau
1c7ab18c08
Rename drop_copy
lint to dropping_copy_types
2023-05-21 13:37:32 +02:00
bors
077fc26f0a
Auto merge of #109732 - Urgau:uplift_drop_forget_ref_lints, r=davidtwco
...
Uplift `clippy::{drop,forget}_{ref,copy}` lints
This PR aims at uplifting the `clippy::drop_ref`, `clippy::drop_copy`, `clippy::forget_ref` and `clippy::forget_copy` lints.
Those lints are/were declared in the correctness category of clippy because they lint on useless and most probably is not what the developer wanted.
## `drop_ref` and `forget_ref`
The `drop_ref` and `forget_ref` lint checks for calls to `std::mem::drop` or `std::mem::forget` with a reference instead of an owned value.
### Example
```rust
let mut lock_guard = mutex.lock();
std::mem::drop(&lock_guard) // Should have been drop(lock_guard), mutex
// still locked
operation_that_requires_mutex_to_be_unlocked();
```
### Explanation
Calling `drop` or `forget` on a reference will only drop the reference itself, which is a no-op. It will not call the `drop` or `forget` method on the underlying referenced value, which is likely what was intended.
## `drop_copy` and `forget_copy`
The `drop_copy` and `forget_copy` lint checks for calls to `std::mem::forget` or `std::mem::drop` with a value that derives the Copy trait.
### Example
```rust
let x: i32 = 42; // i32 implements Copy
std::mem::forget(x) // A copy of x is passed to the function, leaving the
// original unaffected
```
### Explanation
Calling `std::mem::forget` [does nothing for types that implement Copy](https://doc.rust-lang.org/std/mem/fn.drop.html ) since the value will be copied and moved into the function on invocation.
-----
Followed the instructions for uplift a clippy describe here: https://github.com/rust-lang/rust/pull/99696#pullrequestreview-1134072751
cc `@m-ou-se` (as T-libs-api leader because the uplifting was discussed in a recent meeting)
2023-05-12 12:04:32 +00:00
Camille GILLOT
a2fe9935ea
Only warn single-use lifetime when the binders match.
2023-05-10 19:49:02 +00:00
Urgau
61ff2718f7
Adjust tests for new drop and forget lints
2023-05-10 19:36:02 +02:00
León Orell Valerian Liehr
46ec348611
IAT: Add a few regression tests
2023-05-04 16:59:10 +02:00
León Orell Valerian Liehr
e8139dfd5a
IAT: Introduce AliasKind::Inherent
2023-05-04 16:59:10 +02:00
León Orell Valerian Liehr
2f354482b8
Add regression tests for const-generic IATs
2023-04-25 23:32:13 +02:00
Oli Scherer
e18d1f8d2e
Leave it to the query system to invoke the typeck query instead of invoking it eagerly.
...
Later queries that are run on all body owners will invoke typeck as they need information from its result to perform their own logic
2023-04-21 22:12:45 +00:00
León Orell Valerian Liehr
293f21c876
iat selection: erase regions in self type
2023-03-21 23:53:58 +01:00