: Such an implicitly-declared 
== operator for a class 
X
is defined as defaulted
in the definition of 
X and
has the same 
parameter-declaration-clause and
trailing 
requires-clause as
the respective three-way comparison operator
.It is declared with 
friend, 
virtual, 
constexpr,
or 
consteval if
the three-way comparison operator function is so declared
.If the three-way comparison operator function
has no 
noexcept-specifier,
the implicitly-declared 
== operator function
has an implicit exception specification (
[except.spec]) that
may differ from the implicit exception specification of
the three-way comparison operator function
. — 
end note