Date
2023-02-08.03:23:14
Message id
7173

Content

Proposed resolution (approved by CWG 2023-02-07):

The synthesized three-way comparison of type R (17.12.2 [cmp.categories]) of glvalues a and b of the same type is defined as follows:
  • If a <=> b is usable (11.10.1 [class.compare.default]) and can be explicitly converted to R using static_cast, static_cast<R>(a <=> b).
  • Otherwise, if overload resolution for a <=> b is performed and finds at least one viable candidate, the synthesized three-way comparison is not defined.
  • Otherwise, if R is not a comparison category type, or either the expression a == b or the expression a < b is not usable, the synthesized three-way comparison is not defined.
  • Otherwise, ...