Clippy lints / Correctness
Clippy lint · Correctness · checked with Clippy 0.1.99
clippy::serde_api_misuse: Checks for misuses of the serde API
What it meansChecks for misuses of the serde API. It is in the correctness group and denied by default (the build fails).
Does it matter?
Serde is very finicky about how its API should be used, but the type system can’t be used to enforce it (yet?).
Code that is almost certainly wrong. Denied by default: the build fails until you fix it or allow it.
How to fix it
Clippy does not fix this one automatically. Change the code by hand:
Turn it off, or on
Allow it where it does not fit your code, as narrowly as you can:
On one item
#[allow(clippy::serde_api_misuse)]
fn my_function() { /* ... */ }Whole crate (Cargo.toml)
[lints.clippy]
serde_api_misuse = "allow"One run
cargo clippy -- -A clippy::serde-api-misuseThe [lints] table needs Rust 1.74 or newer. In a workspace, put it under [workspace.lints.clippy] and add [lints] workspace = true to each member.
Clippy's own documentation
What it does
Checks for misuses of the serde API.
Why is this bad?
Serde is very finicky about how its API should be used, but the type system can’t be used to enforce it (yet?).
Example
Implementing Visitor::visit_string but not
Visitor::visit_str.
From the Clippy lint list (0.1.99), part of the Rust project, MIT or Apache-2.0. Official entry.
Related lints
- redundant_comparisonsChecks for ineffective double comparisons against constants
- reversed_empty_rangesthis range is empty so it will yield no values
- self_assignmentself-assignment of `a.x` to `a.x`
- size_of_in_element_countDetects expressions where size_of::<T> or size_of_val::<T> is used as a count of elements of type T
- suspicious_splitnChecks for calls to [splitn] (https://doc.rust-lang.org/std/primitive.str.html#method.splitn) and related functions with either zero or one splits
- transmute_null_to_fntransmuting a known null pointer into a function pointer
All 847 Clippy lints · Rust compiler errors · Cargo.toml checker
Up next
Related lintclippy::redundant_comparisonsChecks for ineffective double comparisons against constantsRead it next →Did this answer your question?