- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1.8k
Closed
Labels
C-bugCategory: Clippy is not doing the correct thingCategory: Clippy is not doing the correct thingC-enhancementCategory: Enhancement of lints, like adding more cases or adding help messagesCategory: Enhancement of lints, like adding more cases or adding help messages
Description
Summary
zero_repeat_side_effects's suggestion is confusing
Reproducer
I tried this code:
fn foo<T>(_s: &[Option<T>]) {}
fn main() {
    foo(&[Some(0i64); 0]);
}I expected to see this happen:
Instead, this happened:
warning: function or method calls as the initial value in zero-sized array initializers may cause side effects
 --> src/main.rs:4:10
  |
4 |     foo(&[Some(0i64); 0]);
  |          ^^^^^^^^^^^^^^^ help: consider using: `{ Some(0i64); [] as [std::option::Option<i64>; 0] }`
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_repeat_side_effects
  = note: `#[warn(clippy::zero_repeat_side_effects)]` on by default
If only passed &[] then type T cannot be determined.
But I don't get what { Some(0i64); [] as [std::option::Option<i64>; 0] } refers to, maybe [] as [std::option::Option<i64>; 0]?
Version
rustc 1.88.0-nightly (934880f58 2025-04-09)
binary: rustc
commit-hash: 934880f586f6ac1f952c7090e2a943fcd7775e7b
commit-date: 2025-04-09
host: aarch64-apple-darwin
release: 1.88.0-nightly
LLVM version: 20.1.2
Additional Labels
No response
Metadata
Metadata
Assignees
Labels
C-bugCategory: Clippy is not doing the correct thingCategory: Clippy is not doing the correct thingC-enhancementCategory: Enhancement of lints, like adding more cases or adding help messagesCategory: Enhancement of lints, like adding more cases or adding help messages