RS.CLIPPY.ZERO_SIZED_MAP_VALUES
Usage of map with zero-sized value type
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: zero_sized_map_values. Copyright ©2025 The Rust Team. All rights reserved.
What it does
Checks for maps with zero-sized value types anywhere in the code.
Why is this bad?
Since there is only a single value for a zero-sized type, a map containing zero sized values is effectively a set. Using a set in that case improves readability and communicates intent more clearly.
Known problems
- A zero-sized type cannot be recovered later if it contains private fields.
- This lints the signature of public items
Example
fn unique_words(text: &str) -> HashMap<&str, ()> {
todo!();
}
Use instead:
fn unique_words(text: &str) -> HashSet<&str> {
todo!();
}