Main Content

MISRA C:2023 Rule 2.3

A project should not contain unused type declarations

Since R2024a

Description

This checker is deactivated in a default Polyspace® as You Code analysis. See Checkers Deactivated in Polyspace as You Code Analysis (Polyspace Access).

Rule Definition

A project should not contain unused type declarations.

Rationale

If a type is declared but not used, a reviewer does not know if the type is redundant or if it is unused by mistake.

Polyspace Implementation

Polyspace reports a violation of this rule if a typedef remains unused in your code.

Troubleshooting

If you expect a rule violation but do not see it, refer to Diagnose Why Coding Standard Violations Do Not Appear as Expected.

Examples

expand all

signed short unusedType (void){

    typedef signed short myType;   /* Non-compliant */
    return 67;

}

signed short usedType (void){

    typedef signed short myType;  /* Compliant */
    myType tempVar = 67;
    return tempVar;

}

In this example, in function unusedType, the typedef statement defines a new local type myType. However, this type is never used in the function. Therefore, the rule is violated.

The rule is not violated in the function usedType because the new type myType is used.

Check Information

Group: Unused Code
Category: Advisory
AGC Category: Readability

Version History

Introduced in R2024a