Compilation failure with GCC 15.2 and C++26
$cmake -DCMAKE_CXX_STANDARD=26 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=/rest/inst/gcc-15.1.0/usr/local/bin/g++ -DTANGO_WARNINGS_AS_ERRORS=ON
-GNinja -B build-new-gcc -S . && LC_ALL=C cmake --build build-new-gcc
-- CMake: version 4.0.0-rc1-dirty
-- Target platform: Linux 64-bit
-- C++ Compiler: GNU with version 15.1.0
-- Build type: Debug
-- cppTango: version 10.1.0-dev-278-g0a2f20f3e
-- Environment: TANGO_HOST=localhost:10000
-- IDL: version 6.0.2
-- Could NOT find c-ares (missing: c-ares_DIR)
-- Found RE2 via pkg-config.
-- Tango telemetry (OpenTelemetry) enabled
-- opentelemetry-cpp: version 1.19.0
-- opentelemetry-cpp uses new exporter name: TRUE
-- Found OMNIORB_VERSION=4.3.3
-- Check if cppzmq is present and recent enough: TRUE
-- Check if libzmq version is >= 4.0.5: TRUE
-- Using IDL=/usr/local/include
HOST_NAME=debian
-- Configuring done (1.3s)
-- Generating done (0.9s)
-- Build files have been written to: /home/thomas/devel/cppTango/build-new-gcc
[12/803] Building CXX object src/server/CMakeFiles/server_objects.dir/devicetelemetry.cpp.o
FAILED: src/server/CMakeFiles/server_objects.dir/devicetelemetry.cpp.o
/rest/inst/gcc-15.1.0/usr/local/bin/g++ -DHAVE_ABSEIL -DOPENTELEMETRY_ABI_VERSION_NO=1 -DOPENTELEMETRY_STL_VERSION=2017 -I/home/thomas/devel/cppTa
ngo/src/include -I/home/thomas/devel/cppTango/log4tango/include -I/home/thomas/devel/cppTango/build-new-gcc/src/include -I/home/thomas/devel/cppTa
ngo/build-new-gcc/log4tango/include -g -std=c++26 -Wall -Wextra -Wformat -Werror=format-security -pedantic -Og -g -Werror -fPIC -pthread -Winvalid
-pch -include /home/thomas/devel/cppTango/build-new-gcc/src/common/CMakeFiles/common_objects.dir/cmake_pch.hxx -MD -MT src/server/CMakeFiles/serve
r_objects.dir/devicetelemetry.cpp.o -MF src/server/CMakeFiles/server_objects.dir/devicetelemetry.cpp.o.d -fmodules-ts -fmodule-mapper=src/server/C
MakeFiles/server_objects.dir/devicetelemetry.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o src/server/CMakeFiles/server_objects.dir/devicetelem
etry.cpp.o -c /home/thomas/devel/cppTango/src/server/devicetelemetry.cpp
/home/thomas/devel/cppTango/src/server/devicetelemetry.cpp: In member function 'void Tango::DeviceImpl::initialize_telemetry_interface()':
/home/thomas/devel/cppTango/src/server/devicetelemetry.cpp:19:90: error: no matching function for call to 'Tango::telemetry::Configuration::Server
::Server(<brace-enclosed initializer list>)'
19 | auto details = telemetry::Configuration::Server{device_class->get_name(), device_name};
| ^
/home/thomas/devel/cppTango/src/server/devicetelemetry.cpp:19:90: note: there are 2 candidates
In file included from /home/thomas/devel/cppTango/src/include/tango/common/telemetry/telemetry.h:8,
from /home/thomas/devel/cppTango/src/include/tango/tango.h:147,
from /home/thomas/devel/cppTango/build-new-gcc/src/common/CMakeFiles/common_objects.dir/cmake_pch.hxx:5,
from <command-line>:
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:56:9: note: candidate 1: 'constexpr Tango::telemetry::Configuration
::Server::Server(const Tango::telemetry::Configuration::Server&)'
56 | Server(const Server &) = default;
| ^~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:56:9: note: candidate expects 1 argument, 2 provided
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:55:9: note: candidate 2: 'constexpr Tango::telemetry::Configuration
::Server::Server()'
55 | Server() = default;
| ^~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:55:9: note: candidate expects 0 arguments, 2 provided
/home/thomas/devel/cppTango/src/server/devicetelemetry.cpp:20:63: error: no matching function for call to 'Tango::telemetry::Configuration::Config
uration(<brace-enclosed initializer list>)'
20 | telemetry::Configuration cfg{device_name, "tango", details};
| ^
/home/thomas/devel/cppTango/src/server/devicetelemetry.cpp:20:63: note: there are 3 candidates
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:85:5: note: candidate 1: 'constexpr Tango::telemetry::Configuration
::Configuration(const Tango::telemetry::Configuration&)'
85 | Configuration(const Configuration &) = default;
| ^~~~~~~~~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:85:5: note: candidate expects 1 argument, 3 provided
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:82:5: note: candidate 2: 'Tango::telemetry::Configuration::Configur
ation()'
82 | Configuration();
| ^~~~~~~~~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:82:5: note: candidate expects 0 arguments, 3 provided
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:79:5: note: candidate 3: 'Tango::telemetry::Configuration::Configur
ation(std::string, std::string, ServerClientDetails)'
79 | Configuration(std::string id, std::string name_space, ServerClientDetails details);
| ^~~~~~~~~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:79:5: note: conversion of argument 3 would be ill-formed:
[13/803] Building CXX object src/common/CMakeFiles/common_objects.dir/telemetry/configuration.cpp.o
FAILED: src/common/CMakeFiles/common_objects.dir/telemetry/configuration.cpp.o
/rest/inst/gcc-15.1.0/usr/local/bin/g++ -DHAVE_ABSEIL -DOPENTELEMETRY_ABI_VERSION_NO=1 -DOPENTELEMETRY_STL_VERSION=2017 -I/home/thomas/devel/cppTa
ngo/src/include -I/home/thomas/devel/cppTango/log4tango/include -I/home/thomas/devel/cppTango/build-new-gcc/src/include -I/home/thomas/devel/cppTa
ngo/build-new-gcc/log4tango/include -g -std=c++26 -Wall -Wextra -Wformat -Werror=format-security -pedantic -Og -g -Werror -fPIC -pthread -Winvalid
-pch -include /home/thomas/devel/cppTango/build-new-gcc/src/common/CMakeFiles/common_objects.dir/cmake_pch.hxx -MD -MT src/common/CMakeFiles/commo
n_objects.dir/telemetry/configuration.cpp.o -MF src/common/CMakeFiles/common_objects.dir/telemetry/configuration.cpp.o.d -fmodules-ts -fmodule-map
per=src/common/CMakeFiles/common_objects.dir/telemetry/configuration.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o src/common/CMakeFiles/common
_objects.dir/telemetry/configuration.cpp.o -c /home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp
/home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp: In constructor 'Tango::telemetry::Configuration::Configuration()':
/home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp:103:93: error: no matching function for call to 'Tango::telemetry::Configuratio
n::Client::Client(<brace-enclosed initializer list>)'
103 | Configuration{"TangoTelemetry", "tango", Configuration::Client{"tango.telemetry.default"}}
| ^
/home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp:103:93: note: there are 2 candidates
In file included from /home/thomas/devel/cppTango/src/include/tango/common/telemetry/telemetry.h:8,
from /home/thomas/devel/cppTango/src/include/tango/tango.h:147,
from /home/thomas/devel/cppTango/build-new-gcc/src/common/CMakeFiles/common_objects.dir/cmake_pch.hxx:5,
from <command-line>:
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:41:9: note: candidate 1: 'constexpr Tango::telemetry::Configuration
::Client::Client(const Tango::telemetry::Configuration::Client&)'
41 | Client(const Client &) = default;
| ^~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:41:16: note: no known conversion for argument 1 from 'const char [2
4]' to 'const Tango::telemetry::Configuration::Client&'
41 | Client(const Client &) = default;
| ^~~~~~~~~~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:40:9: note: candidate 2: 'constexpr Tango::telemetry::Configuration
::Client::Client()'
40 | Client() = default;
| ^~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:40:9: note: candidate expects 0 arguments, 1 provided
/home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp:103:94: error: no matching function for call to 'Tango::telemetry::Configuratio
n::Configuration(<brace-enclosed initializer list>)'
103 | Configuration{"TangoTelemetry", "tango", Configuration::Client{"tango.telemetry.default"}}
| ^
/home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp:103:94: note: there are 3 candidates
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:85:5: note: candidate 1: 'constexpr Tango::telemetry::Configuration
::Configuration(const Tango::telemetry::Configuration&)'
85 | Configuration(const Configuration &) = default;
| ^~~~~~~~~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:85:5: note: candidate expects 1 argument, 3 provided
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:82:5: note: candidate 2: 'Tango::telemetry::Configuration::Configur
ation()'
82 | Configuration();
| ^~~~~~~~~~~~~
/home/thomas/devel/cppTango/src/include/tango/common/telemetry/configuration.h:82:5: note: candidate expects 0 arguments, 3 provided
/home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp:77:1: note: candidate 3: 'Tango::telemetry::Configuration::Configuration(std::s
tring, std::string, ServerClientDetails)'
77 | Configuration::Configuration(std::string id, std::string name_space, ServerClientDetails details) :
| ^~~~~~~~~~~~~
/home/thomas/devel/cppTango/src/common/telemetry/configuration.cpp:77:1: note: conversion of argument 3 would be ill-formed:
ninja: build stopped: subcommand failed.