If constructors and assignment operator are defined as default: ``` GLM_FUNC_DECL tvec2() = default; GLM_FUNC_DECL tvec2(tvec2<T, P> const & v) = default; GLM_FUNC_DECL tvec2<T, P>& operator=(tvec2<T, P> const & v) = default; ``` then tvec2 can be used in unions. Implicitly-defined constructors provide no functionality but make the classes non-trivial.