# Extra Clang Tools 21.1.8 documentation

## clang-tidy - readability-redundant-casting

# readability-redundant-casting

Detects explicit type casting operations that involve the same source and destination types, and subsequently recommend their removal. Covers a range of explicit casting operations, including `static_cast`, `const_cast`, C-style casts, and `reinterpret_cast`. Its primary objective is to enhance code readability and maintainability by eliminating unnecessary type casting.

    int value = 42;
    int result = static_cast<int>(value);

In this example, the `static_cast<int>(value)` is redundant, as it performs a cast from an `int` to another `int`.

Casting operations involving constructor conversions, user-defined conversions, functional casts, type-dependent casts, casts between distinct type aliases that refer to the same underlying type, as well as bitfield-related casts and casts directly from lvalue to rvalue, are all disregarded by the check.

## Options

IgnoreMacros

  If set to true, the check will not give warnings inside macros. Default is true.

IgnoreTypeAliases

  When set to false, the check will consider type aliases, and when set to true, it will resolve all type aliases and operate on the underlying types. Default is false.