# Static rustc_lint::builtin::DEPRECATED_CFG_ATTR_CRATE_TYPE_NAME

source ·

    pub static DEPRECATED_CFG_ATTR_CRATE_TYPE_NAME: &'static Lint

Expand description

The `deprecated_cfg_attr_crate_type_name` lint detects uses of the `#![cfg_attr(..., crate_type = "...")]` and `#![cfg_attr(..., crate_name = "...")]` attributes to conditionally specify the crate type and name in the source code.

#### §Example

ⓘ

    #![cfg_attr(debug_assertions, crate_type = "lib")]

{{produces}}

#### §Explanation

The `#![crate_type]` and `#![crate_name]` attributes require a hack in the compiler to be able to change the used crate type and crate name after macros have been expanded. Neither attribute works in combination with Cargo as it explicitly passes `--crate-type` and `--crate-name` on the commandline. These values must match the value used in the source code to prevent an error.

To fix the warning use `--crate-type` on the commandline when running rustc instead of `#![cfg_attr(..., crate_type = "...")]` and `--crate-name` instead of `#![cfg_attr(..., crate_name = "...")]`.