[PATCH] D100671: [ADT] Factor out in_place_t and expose in Optional ctor

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 16 14:00:50 PDT 2021


dblaikie added a comment.

This usage doesn't seem to quite match the standard - which provides an existing instance of in_place_t for callers to use:

  std::optional<std::string> o4(std::in_place, {'a', 'b', 'c'});

(to quote https://en.cppreference.com/w/cpp/utility/optional/optional )

Probably good to match this sort of behavior.



================
Comment at: llvm/unittests/ADT/OptionalTest.cpp:227
+                         const MultiArgConstructor &RHS) {
+    return LHS.x == RHS.x && LHS.y == RHS.y;
+  }
----------------
Could write this as: `return std::tie(LHS.x, LHS.y) == std::tie(RHS.x, RHS.y);` which I think is a bit tidier/easier to generalize to other comparisons, etc.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100671/new/

https://reviews.llvm.org/D100671



More information about the llvm-commits mailing list