Allow defaulted comparisons to be non-inline, allow their definition
to appear outside the class that declares them (as a friend).
Retain the restriction that they be declared in the relevant class
to avoid encouraging clients to add to a class’s interface.
I don't think you can do the "member or friend" check this way. P2085R0 doesn't require either the defaulted declaration or the first declaration to be within the class, and it doesn't matter which class contains the first declaration, if any. For example, this is valid:
I think there are two reasonable options here:
Either approach seems fine to me.