mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-23 13:13:34 +00:00
Rollup merge of #83092 - petrochenkov:qspan, r=estebank
More precise spans for HIR paths `Ty::assoc_item` is lowered to `<Ty>::assoc_item` in HIR, but `Ty` got span from the whole path. This PR fixes that, and adjusts some diagnostic code that relied on `Ty` having the whole path span. This is a pre-requisite for https://github.com/rust-lang/rust/pull/82868 (we cannot report suggestions like `Tr::assoc` -> `<dyn Tr>::assoc` with the current imprecise spans). r? ````@estebank````
This commit is contained in:
commit
5476382dda
5 changed files with 26 additions and 36 deletions
|
@ -312,17 +312,18 @@ mod issue4140 {
|
|||
fn try_from(value: T) -> Result<Self, Error<Self::From, Self::To>>;
|
||||
}
|
||||
|
||||
impl<F, T> TryFrom<F> for T
|
||||
where
|
||||
T: From<F>,
|
||||
{
|
||||
type From = Self;
|
||||
type To = Self;
|
||||
// FIXME: Suggested fix results in infinite recursion.
|
||||
// impl<F, T> TryFrom<F> for T
|
||||
// where
|
||||
// T: From<F>,
|
||||
// {
|
||||
// type From = Self::From;
|
||||
// type To = Self::To;
|
||||
|
||||
fn try_from(value: F) -> Result<Self, Error<Self::From, Self::To>> {
|
||||
Ok(From::from(value))
|
||||
}
|
||||
}
|
||||
// fn try_from(value: F) -> Result<Self, Error<Self::From, Self::To>> {
|
||||
// Ok(From::from(value))
|
||||
// }
|
||||
// }
|
||||
|
||||
impl From<bool> for i64 {
|
||||
type From = bool;
|
||||
|
|
|
@ -312,17 +312,18 @@ mod issue4140 {
|
|||
fn try_from(value: T) -> Result<Self, Error<Self::From, Self::To>>;
|
||||
}
|
||||
|
||||
impl<F, T> TryFrom<F> for T
|
||||
where
|
||||
T: From<F>,
|
||||
{
|
||||
type From = T::From;
|
||||
type To = T::To;
|
||||
// FIXME: Suggested fix results in infinite recursion.
|
||||
// impl<F, T> TryFrom<F> for T
|
||||
// where
|
||||
// T: From<F>,
|
||||
// {
|
||||
// type From = Self::From;
|
||||
// type To = Self::To;
|
||||
|
||||
fn try_from(value: F) -> Result<Self, Error<Self::From, Self::To>> {
|
||||
Ok(From::from(value))
|
||||
}
|
||||
}
|
||||
// fn try_from(value: F) -> Result<Self, Error<Self::From, Self::To>> {
|
||||
// Ok(From::from(value))
|
||||
// }
|
||||
// }
|
||||
|
||||
impl From<bool> for i64 {
|
||||
type From = bool;
|
||||
|
|
|
@ -157,22 +157,10 @@ LL | Foo { value }
|
|||
| ^^^ help: use the applicable keyword: `Self`
|
||||
|
||||
error: unnecessary structure name repetition
|
||||
--> $DIR/use_self.rs:319:21
|
||||
|
|
||||
LL | type From = T::From;
|
||||
| ^^^^^^^ help: use the applicable keyword: `Self`
|
||||
|
||||
error: unnecessary structure name repetition
|
||||
--> $DIR/use_self.rs:320:19
|
||||
|
|
||||
LL | type To = T::To;
|
||||
| ^^^^^ help: use the applicable keyword: `Self`
|
||||
|
||||
error: unnecessary structure name repetition
|
||||
--> $DIR/use_self.rs:453:13
|
||||
--> $DIR/use_self.rs:454:13
|
||||
|
|
||||
LL | A::new::<submod::B>(submod::B {})
|
||||
| ^ help: use the applicable keyword: `Self`
|
||||
|
||||
error: aborting due to 29 previous errors
|
||||
error: aborting due to 27 previous errors
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ error: map with zero-sized value type
|
|||
--> $DIR/zero_sized_btreemap_values.rs:64:35
|
||||
|
|
||||
LL | let _: BTreeMap<String, ()> = BTreeMap::new();
|
||||
| ^^^^^^^^^^^^^
|
||||
| ^^^^^^^^
|
||||
|
|
||||
= help: consider using a set instead
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ error: map with zero-sized value type
|
|||
--> $DIR/zero_sized_hashmap_values.rs:64:34
|
||||
|
|
||||
LL | let _: HashMap<String, ()> = HashMap::new();
|
||||
| ^^^^^^^^^^^^
|
||||
| ^^^^^^^
|
||||
|
|
||||
= help: consider using a set instead
|
||||
|
||||
|
|
Loading…
Reference in a new issue