[libc++] Post-commit review on D99928.

The "user-defined conversion by implicit constructor" codepath is already
handled by `B(int)`; we don't need to test `A(const A&)` a second time
via `DA` (nor the isomorphic case with `DB`).
We don't need `&` anywhere in this test.
Generally, `operator()` should be const; this test needn't be special.
(No functional change in test coverage.)

GitOrigin-RevId: ae318beb35517c70505114cab8d1fb286f99ab4b
diff --git a/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp b/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
index 5b15f15..ffad6d6 100644
--- a/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
+++ b/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
@@ -226,26 +226,14 @@
   struct B { B(int); };
   struct AB : A, B {};
   struct O {};
-  struct DA : A {};
-  struct DB : B {};
-  void operator()(A) {};
-  void operator()(B) {};
+  void operator()(A) const;
+  void operator()(B) const;
 };
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::A>);
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::B>);
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::DA>);
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::DB>);
-static_assert(std::invocable<multiple_overloads&, int>);
-static_assert(!std::invocable<multiple_overloads&, multiple_overloads::AB>);
-static_assert(!std::invocable<multiple_overloads&, multiple_overloads::O>);
-
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::A&>);
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::B&>);
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::DA&>);
-static_assert(std::invocable<multiple_overloads&, multiple_overloads::DB&>);
-static_assert(std::invocable<multiple_overloads&, int&>);
-static_assert(!std::invocable<multiple_overloads&, multiple_overloads::AB&>);
-static_assert(!std::invocable<multiple_overloads&, multiple_overloads::O&>);
+static_assert(std::invocable<multiple_overloads, multiple_overloads::A>);
+static_assert(std::invocable<multiple_overloads, multiple_overloads::B>);
+static_assert(std::invocable<multiple_overloads, int>);
+static_assert(!std::invocable<multiple_overloads, multiple_overloads::AB>);
+static_assert(!std::invocable<multiple_overloads, multiple_overloads::O>);
 } // namespace function_objects
 
 namespace pointer_to_member_functions {
diff --git a/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.pass.cpp b/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.pass.cpp
index 4911185..0e0570f 100644
--- a/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.pass.cpp
+++ b/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.pass.cpp
@@ -252,26 +252,14 @@
   struct B { B(int); };
   struct AB : A, B {};
   struct O {};
-  struct DA : A {};
-  struct DB : B {};
-  void operator()(A) {};
-  void operator()(B) {};
+  void operator()(A) const;
+  void operator()(B) const;
 };
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::A>);
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::B>);
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::DA>);
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::DB>);
-static_assert(std::regular_invocable<multiple_overloads&, int>);
-static_assert(!std::regular_invocable<multiple_overloads&, multiple_overloads::AB>);
-static_assert(!std::regular_invocable<multiple_overloads&, multiple_overloads::O>);
-
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::A&>);
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::B&>);
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::DA&>);
-static_assert(std::regular_invocable<multiple_overloads&, multiple_overloads::DB&>);
-static_assert(std::regular_invocable<multiple_overloads&, int&>);
-static_assert(!std::regular_invocable<multiple_overloads&, multiple_overloads::AB&>);
-static_assert(!std::regular_invocable<multiple_overloads&, multiple_overloads::O&>);
+static_assert(std::regular_invocable<multiple_overloads, multiple_overloads::A>);
+static_assert(std::regular_invocable<multiple_overloads, multiple_overloads::B>);
+static_assert(std::regular_invocable<multiple_overloads, int>);
+static_assert(!std::regular_invocable<multiple_overloads, multiple_overloads::AB>);
+static_assert(!std::regular_invocable<multiple_overloads, multiple_overloads::O>);
 } // namespace function_objects
 
 namespace pointer_to_member_functions {