The reference only talks about how the fields layout in a struct, not saying (or not clear) how the filed's inner layout. At least the reference is not clear to me.
@psionic12, are you just trying to provide a thin, newtype wrapper around some other type from another library? If so, that's what repr(transparent) is for.
This is really painful since I have to create a repr(C) version of data struct for very one in math libraries(vector, quaternion, matrix and so one)... Does anybody who also come across this problem?
This sounds like an XY problem. You might want to create a thread about the problem you're trying to solve. You may not need to recreate every struct with repr(C).
If the math library you are using doesn't already have #[repr(C)] on its types, consider sending it a suggestion or PR to do so — or switching to one that does. Your requirement is a common one.