Make deref_addrof suggestions stricter
SUGGESTION matches a substring so 'aref' in the testcases can match 'let b = *aref', 'let b = **aref', 'let b = *&aref' etc, which are all wrong.
This commit is contained in:
parent
a9f5b90f0f
commit
8d04038c56
|
@ -19,12 +19,12 @@ fn main() {
|
|||
let b = *&a;
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION a
|
||||
//~|SUGGESTION let b = a;
|
||||
|
||||
let b = *&get_number();
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION get_number()
|
||||
//~|SUGGESTION let b = get_number();
|
||||
|
||||
let b = *get_reference(&a);
|
||||
|
||||
|
@ -32,43 +32,45 @@ fn main() {
|
|||
let b = *&bytes[1..2][0];
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION bytes[1..2][0]
|
||||
//~|SUGGESTION let b = bytes[1..2][0];
|
||||
|
||||
let b = *(&a);
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION a
|
||||
//~|SUGGESTION let b = a;
|
||||
|
||||
let b = *&&a;
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION &a
|
||||
//~|SUGGESTION let b = &a;
|
||||
|
||||
let b = **&aref;
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION aref
|
||||
//~|SUGGESTION let b = *aref;
|
||||
|
||||
//This produces a suggestion of 'let b = *&a;' which is still incorrect
|
||||
//This produces a suggestion of 'let b = *&a;' which
|
||||
//will trigger the 'deref_addrof' lint again
|
||||
let b = **&&a;
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION a
|
||||
//~|SUGGESTION let b = *&a;
|
||||
|
||||
{
|
||||
let mut x = 10;
|
||||
let y = *&mut x;
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION x
|
||||
//~|SUGGESTION let y = x;
|
||||
}
|
||||
|
||||
{
|
||||
//This produces a suggestion of 'let y = *&mut x' which is still incorrect
|
||||
//This produces a suggestion of 'let y = *&mut x' which
|
||||
//will trigger the 'deref_addrof' lint again
|
||||
let mut x = 10;
|
||||
let y = **&mut &mut x;
|
||||
//~^ERROR immediately dereferencing a reference
|
||||
//~|HELP try this
|
||||
//~|SUGGESTION x
|
||||
//~|SUGGESTION let y = *&mut x;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue