https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93275
--- Comment #1 from ahmet özhan <tahasuf at gmail dot com> --- <source>: In substitution of 'template<class T, long unsigned int N> template<class Other, typename std::enable_if<(array_depth_v<math::array<T, N> > > array_depth_v<Other>), std::nullptr_t>::type <anonymous> > constexpr math::array<T, N> math::array<T, N>::operator*(const Other&) const [with Other = <missing>; typename std::enable_if<(array_depth_v<math::array<T, N> > > array_depth_v<Other>), std::nullptr_t>::type <anonymous> = <missing>; T = float; long unsigned int N = <missing>]': <source>:56:36: required from 'constexpr math::array<T, N> math::array<T, N>::operator*(const Other&) const [with Other = float; typename std::enable_if<(array_depth_v<math::array<T, N> > > array_depth_v<Other>), std::nullptr_t>::type <anonymous> = nullptr; T = math::array<float, 4>; long unsigned int N = 1]' <source>:79:20: required from here <source>:48:5: internal compiler error: unexpected expression 'N' of kind template_parm_index 48 | (array_depth_v<array> > array_depth_v<Other>), | ^~~~~~~~~~~~~~~~~~~~ Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions.