Closed Dennisbonke closed 1 year ago
The following compiles since C++20, so this should not be necessary:
struct foo {};
struct bar {
bool operator==(foo) const { return true; }
};
int main () {
foo{} == bar{};
bar{} == foo{};
}
Sure, but LLVM 16 is disagreeing here. It could well be an LLVM bug, but I'd rather not wait on that.
Was was this the case? Was it an LLVM bug?
I'm not sure what you mean. the fail that this caused was correct with the standard (previously underspecified IIUC, turned into a fail by the aforementioned paper)
This change was needed for LLVM 16 to agree on our codebase. Tested by booting Managarm.