You get what you asked for. You called clang-tidy -checks='cppcoreguidelines-*, this includes cppcoreguidelines-pro-type-reinterpret-cast.
This check flags all uses of reinterpret_cast in C++ code.
Use of these casts can violate type safety and cause the program to access a variable that is actually of type X to be accessed as if it were of an unrelated type Z.
This rule is part of the Type safety (Type.1.1) profile from the C++ Core Guidelines.
Type Safety Profile requires that no reinterpret_cast is used at allow, be it safe or not.
In your case you can memcpy the const uint8_t* to a const char*. For me that is too much hassle, I would simple do a reinterpret_cast here which in this case is safe. Because I checked this reinterpret_cast I would add GSL_SUPPRESS(type,1) to suppress the warning. If you can control the clang-tidy call you can simply not enable the cppcoreguidelines-pro-type-reinterpret-cast warning. But maybe there are other reinterpret_casts in your code that are not OK and you want to be warned about them. So in my opinion it is a good choice to enable the check and suppress it where you are sure that it is OK.
g( static_cast<const uint8_t*>( static_cast<const void*>( p ) ) );?charcan be signed and thus simply casting is not possible. If you can afford copying memory a simple workaround would also be tostd::memcpy(f_ui8, f, size);std::memcpyis the only "save"way to go in general. You can make your way safe by (statically) checking thatcharis an unsigned type on your platform (… which it probably isn't).