Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc9566b6 authored by Peter Collingbourne's avatar Peter Collingbourne
Browse files

Add unique_fd::operator{==,!=} overloads that take a unique_fd.

With C++20, any use of the existing overloads with two unique_fd
arguments is likely to become ambiguous:
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20200113/301880.html

Newer versions of clang complain about this ambiguity. Fix the error by
adding overloads that take two unique_fds.

Bug: 145916209
Change-Id: I18a292827d8841b6d24f948682123ab54dc7aaca
parent 5688181a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -116,6 +116,8 @@ class unique_fd_impl final {
  bool operator<(int rhs) const { return get() < rhs; }
  bool operator==(int rhs) const { return get() == rhs; }
  bool operator!=(int rhs) const { return get() != rhs; }
  bool operator==(const unique_fd_impl& rhs) const { return get() == rhs.get(); }
  bool operator!=(const unique_fd_impl& rhs) const { return get() != rhs.get(); }

  // Catch bogus error checks (i.e.: "!fd" instead of "fd != -1").
  bool operator!() const = delete;