Open
Description
struct [[nodiscard("Expected")]] expected {};
struct A {
expected f();
};
@interface B
-(expected) f;
@end
void test(A* a, B* b) {
a->f(); // warn
[b f]; // no warn
}
Clang 20 correctly diagnoses the discarded result in a->f()
but erroneously does not diagnose the discarded result in [b f]
.