const std::string &s) {
os << s;
}
Вот clang и libc++ считают, что компилироваться — да, а линковаться — нет: https://wandbox.org/permlink/0V1jdpPbUFS2tR6I
Это выглядит довольно странно. Если добавить <iostream>, то компилируется и линкуется.
Формально, кажется, <iosfwd> никаких operator<< не определяет, а вот <string> как раз определяет нужный.
https://wandbox.org/permlink/yqu0BQg84QQmbluZ
сейчас проверил на своей машине - все норм 🤔
Тем временем, этому багу в libc++ уже почти год: https://bugs.llvm.org/show_bug.cgi?id=41563 Пока, правда, там не отписались, баг в либе, стандарте или пользовательском коде. Бампнул тред.
Обсуждают сегодня