#include #include //constructible template concept Constructible = std::constructible_from; template requires Constructible T1 fun(Args &&...t2) { return T1( std::forward(t2)... ); } int main() { std::string s{ fun(5, 'a') }; std::string s2{ fun() }; // slightly weird... } //=