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{}...);
       |     ~^~~~~~~~~~~~~~~~~~~~~~~

Reply via email to