https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115810
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Can you show the exact command needed to reproduce this? I am suspecting this might be an artifact of the IDE you are using. What GCC diagnostic produces is (when I remove the line markers): t.cc: In instantiation of ‘cserver::ServiceContextBuilder<cserver::ConstexprConfig<cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int> >{utempl::Tuple<cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int> >{utempl::impl::TupleHelper<std::int eger_sequence<long unsigned int, 0>, cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int> >{utempl::impl::TupleLeaf<0, cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int> >{cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<cha r, 8>{"threads"}}, int>{8}}}}}, cserver::ComponentConfig<utempl::ConstexprString<5>{std::array<char, 5>{"some"}}, SomeComponent, cserver::Options<>()>, cserver::ComponentConfig<utempl::ConstexprString<6>{std::array<char, 6>{"other"}}, OtherComponent, cserver::Options<>()>, cserver::ComponentConfig<utempl::ConstexprS tring<7>{std::array<char, 7>{"other2"}}, OtherComponent2, cserver::Options<>()> >::GetDependencyGraph()::<lambda(cserver::ComponentConfig<names, Components, Options>...)> [with ConstexprString<...auto...> ...names = {utempl::ConstexprString<5>{std::array<char, 5>{"some"}}, utempl::ConstexprString<6>{std::array<char, 6>{"other"}}, utempl::ConstexprString<7>{std::array<char, 7>{"other2"}}}; Components = {SomeComponent, OtherComponent, OtherComponent2}; Options<...auto...> ...Options = {cserver::Options<>(), cserver::Options<>(), cserver::Options<>()}]’: t.cc:259643:6: required from ‘static consteval auto cserver::ServiceContextBuilder<config, ComponentConfigs>::GetDependencyGraph() [with ConstexprConfig<...auto...> config = cserver::ConstexprConfig<cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int> >{utempl::Tuple<cserver:: impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int> >{utempl::impl::TupleHelper<std::integer_sequence<long unsigned int, 0>, cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int> >{utempl::impl::TupleLeaf<0, cserver::impl::NamedValue<utempl::Constexp rString<8>{std::array<char, 8>{"threads"}}, int> >{cserver::impl::NamedValue<utempl::ConstexprString<8>{std::array<char, 8>{"threads"}}, int>{8}}}}}; ComponentConfigs = {cserver::ComponentConfig<utempl::ConstexprString<5>{std::array<char, 5>{"some"}}, SomeComponent, cserver::Options<>()>, cserver::ComponentConfig<ut empl::ConstexprString<6>{std::array<char, 6>{"other"}}, OtherComponent, cserver::Options<>()>, cserver::ComponentConfig<utempl::ConstexprString<7>{std::array<char, 7>{"other2"}}, OtherComponent2, cserver::Options<>()>}]’ 259634 | return [&]<utempl::ConstexprString... names, typename... Components, Options... Options>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259635 | ComponentConfig<names, Components, Options>...) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259636 | return DependencyGraph<DependencyGraphElement<names, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259637 | []<utempl::ConstexprString name, typename Component, ::cserver::Options OOptions>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259638 | ComponentConfig<name, Component, OOptions>) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259639 | impl::DependencyInfoInjector<Component, name, config, ComponentConfigs...> injector; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259640 | injector.Inject(); | ~~~~~~~~~~~~~~~~~~ 259641 | return injector.GetDependencies(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259642 | }(ComponentConfigs{})>...>{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259643 | }(ComponentConfigs{}...); | ~^~~~~~~~~~~~~~~~~~~~~~~