https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115810
--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> --- Like Andrew showed in comment 6, the confusing lines in the ubuntu output should be showing the context: 550 | return [&]<utempl::ConstexprString... names, typename... Components, Options... Options>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 551 | ComponentConfig<names, Components, Options>...) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 552 | return DependencyGraph<DependencyGraphElement<names, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 553 | []<utempl::ConstexprString name, typename Component, ::cserver::Options OOptions>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 554 | ComponentConfig<name, Component, OOptions>) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 555 | impl::DependencyInfoInjector<Component, name, config, ComponentConfigs...> injector; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 556 | injector.Inject(); | ~~~~~~~~~~~~~~~~~~ 557 | return injector.GetDependencies(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 558 | }(ComponentConfigs{})>...>{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 559 | }(ComponentConfigs{}...); | ~^~~~~~~~~~~~~~~~~~~~~~~ For some reason in the ubuntu output, each of those ~~~~~ lines is incorrectly prefixed by a locus: /cserver/build/_deps/utempl-src/include/utempl/utils.hpp:180:40: warning: | ~~~