Consider the following example provided by Aykhan Hagverdili:
#include <string>
using std::operator""s;
#define s foobar
auto s = "hello world"s;
Some compilers would substitute s
and fail compilation.
Some compilers would not substitute s
.
See the result here: https://godbolt.org/z/jx4nhYczd gcc fails, clang compiles
Which is right?