diff --git a/lix/libutil/position.hh b/lix/libutil/position.hh index 54728fab4..ce2e8f925 100644 --- a/lix/libutil/position.hh +++ b/lix/libutil/position.hh @@ -22,21 +22,17 @@ struct Pos struct Stdin { ref source; - bool operator==(const Stdin & rhs) const - { return *source == *rhs.source; } - bool operator!=(const Stdin & rhs) const - { return *source != *rhs.source; } - bool operator<(const Stdin & rhs) const - { return *source < *rhs.source; } + constexpr friend auto operator<=>(Stdin const & lhs, Stdin const & rhs) + { + return *lhs.source <=> *rhs.source; + } }; struct String { ref source; - bool operator==(const String & rhs) const - { return *source == *rhs.source; } - bool operator!=(const String & rhs) const - { return *source != *rhs.source; } - bool operator<(const String & rhs) const - { return *source < *rhs.source; } + constexpr friend auto operator<=>(String const & lhs, String const & rhs) + { + return *lhs.source <=> *rhs.source; + } }; struct Hidden { auto operator<=>(const Hidden &) const = default;