Clippy lints / Style
Clippy lint · Style · checked with Clippy 0.1.99
clippy::missing_enforced_import_renames: Checks for imports that do not rename the item as specified in the enforced-import-renames config option. Note: Even though this lint is warn-by-default, it will only trigger if import renames are defined in the clippy.toml file
What it meansChecks for imports that do not rename the item as specified in the enforced-import-renames config option. Note: Even though this lint is warn-by-default, it will only trigger if import renames are defined in the clippy.toml file. It is in the style group and warns by default.
Does it matter?
Consistency is important; if a project has defined import renames, then they should be followed. More practically, some item names are too vague outside of their defining scope, in which case this can enforce a more meaningful naming.
Code that works but is not idiomatic Rust. Warns by default.
How to fix it
Clippy can fix this one for you: run cargo clippy --fix (add --allow-dirty if you have uncommitted changes). Review the diff before you commit.
Flagged
use serde_json::Value;
Write this instead
use serde_json::Value as JsonValue;
Turn it off, or on
Allow it where it does not fit your code, as narrowly as you can:
On one item
#[allow(clippy::missing_enforced_import_renames)]
fn my_function() { /* ... */ }Whole crate (Cargo.toml)
[lints.clippy]
missing_enforced_import_renames = "allow"One run
cargo clippy -- -A clippy::missing-enforced-import-renamesThe [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.
Settings in clippy.toml
enforced-import-renames: The list of imports to always rename, a fully qualified path followed by the rename.
Clippy's own documentation
What it does
Checks for imports that do not rename the item as specified
in the enforced-import-renames config option.
Note: Even though this lint is warn-by-default, it will only trigger if
import renames are defined in the clippy.toml file.
Why is this bad?
Consistency is important; if a project has defined import renames, then they should be followed. More practically, some item names are too vague outside of their defining scope, in which case this can enforce a more meaningful naming.
Example
An example clippy.toml configuration:
enforced-import-renames = [
{ path = "serde_json::Value", rename = "JsonValue" },
]
use serde_json::Value;
Use instead:
use serde_json::Value as JsonValue;
Configuration
-
enforced-import-renames: The list of imports to always rename, a fully qualified path followed by the rename.(default:
[])
From the Clippy lint list (0.1.99), part of the Rust project, MIT or Apache-2.0. Official entry.
Related lints
- needless_returnunneeded `return` statement
- new_without_defaultChecks for public types with a pub fn new() -> Self method and no implementation of Default
- len_zeroChecks for getting the length of something via .len() just to compare to zero, and suggests using .is_empty() where applicable
- mem_replace_option_with_nonereplacing an `Option` with `None`
- mem_replace_option_with_somereplacing an `Option` with `Some(..)`
- mem_replace_with_defaultreplacing a value of type `T` with `T::default()`
- missing_safety_docChecks for the doc comments of publicly visible unsafe functions and warns if there is no # Safety section
- mixed_attributes_styleChecks for items that have the same kind of attributes with mixed styles (inner/outer)
- mixed_case_hex_literalsinconsistent casing in hexadecimal literal
All 847 Clippy lints · Rust compiler errors · Cargo.toml checker
Up next
Related lintclippy::needless_returnunneeded `return` statementRead it next →Did this answer your question?