#include <iostream>
#pragma pack(push, 1)
template <typename T>
struct S
{
T t;
inline void Set(const T& val) {std::cout << sizeof(val) << '\n';}
};
#pragma pack(pop)
int main() {
typedef char (carray)[10];
S<carray> lhs;
carray rhs = "HELLO";
lhs.Set(rhs);
std::cout << sizeof(lhs) << '\n';
std::cout << sizeof(rhs) << '\n';
return 0;
}