6ec23880f2
[`get_unwrap`]: include a borrow in the suggestion if argument is not an integer literal Fixes #9909 I have to say, I don't really understand what the previous logic was trying to do, but this fixes the linked bug. It was checking if the argument passed to `.get()` can be parsed as a usize (i.e. if it's an integer literal, probably?), and if not, it wouldn't include a borrow? I don't know how we came to that conclusion, but that logic doesn't work: ```rs let slice = &[1, 2]; let _r: &i32 = slice.get({ 1 }).unwrap(); // previous suggestion: slice[{ 1 }] // the suggestion should be: &slice[{ 1 }] ``` Here the argument passed to it isn't an integer literal, but it should still include a borrow, because it would otherwise change the type from `&i32` to `i32`. The exception is that if the parent of the `get().unwrap()` expr is a dereference or a method call or the like, we don't need an explicit borrow because it's automatically inserted by the compiler changelog: [`get_unwrap`]: include a borrow in the suggestion if argument is not an integer literal |
||
---|---|---|
.. | ||
test_utils | ||
ui | ||
ui-cargo | ||
ui-internal | ||
ui-toml | ||
workspace_test | ||
check-fmt.rs | ||
clippy.toml | ||
compile-test.rs | ||
dogfood.rs | ||
headers.rs | ||
integration.rs | ||
lint_message_convention.rs | ||
missing-test-files.rs | ||
versioncheck.rs | ||
workspace.rs |