std::variant 在赋值运算符中给出 std@bad_alloc

std::variant gives std@bad_alloc in assignment operatoe

Rad Studio Rio 10.3.1,CLANG。

简单代码在赋值运算符(y=x)中抛出异常:'std@bad_alloc'

typedef std::variant< std::string, int> MVariant;
MVariant x=10;
MVariant y;
y=x;

我看不出原因。我错过了什么?

我认为问题不在 Rad Studio 本身。这是关于 CLANG 的。这是已知错误 33222,它似乎只影响 libstdc++ 的 std::variant(以及使用相同组合的其他构造)。问题与模板的友元函数有关。

libc++ 的变体似乎没有使用 libstdc++ 使用的朋友的技术。