This diagnostic warning was added at the request of users.
The analyzer allows you to detect all the explicit floating-point type conversions to integer unsigned types.
Consider some examples of constructs the analyzer will generate this diagnostic message on:
float f; double d; long double ld; unsigned u; size_t s; ... u = unsigned(f); // V2004 s = static_cast<size_t>(d); // V2004 u = (unsigned)ld; // V2004
V2003 is a related diagnostic message.
According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-681.