AUTOSAR C++14 Rule A5-2-3
A cast shall not remove any const or volatile qualification from the type of a pointer or reference
Description
Rule Definition
A cast shall not remove any const or volatile qualification from the type of a pointer or reference.
Rationale
Removing the const or volatile qualification from
        a pointer or reference might be unexpected. Consider this
        code:
void foo(const char* p){
  *const_cast< char * >( p ) = '\0';
}foo() accepts a const pointer to a
          char. The caller of this functions expects that the parameter
          p remains unchanged. Modifying p in
          foo() by converting it to a non-const pointer is
        unexpected. If *p dereferences to a const character,
        this modification might lead to unexpected behavior. Avoid casting the
          const or volatile away from a pointer or
        reference.Polyspace Implementation
Polyspace® raises a violation of this rule if you remove the const or
          volatile qualification from the type of a pointer or a reference by
        using a casting operation.
Troubleshooting
If you expect a rule violation but Polyspace does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
| Group: Expressions | 
| Category: Required, Automated |