// PR c++/103049 // P0849R8 - auto(x) // { dg-do compile { target c++23 } } class cmdline_parser { public: cmdline_parser(char const*); auto add_option(char const*, char const*) & -> cmdline_parser &; auto add_option(char const*, char const*) && -> cmdline_parser &&; void parse(int, char**); }; int main(int argc, char *argv[]) { auto cmdline = cmdline_parser("driver"); cmdline.add_option("-h", "show help messages") .add_option("-v", "show version"); auto internal = auto(cmdline).add_option("--logging-level", "set logging level to 1-3") .add_option("--dump-full", "do not minimize dump"); internal.parse(argc, argv); }