- 22 Aug, 2022 1 commit
-
-
Hardik Vala authored
PiperOrigin-RevId: 469171380 Change-Id: Ic75fc0523924e40e620552d4c04b79dad22a68e0
-
- 29 Jul, 2022 1 commit
-
-
Abseil Team authored
PiperOrigin-RevId: 463961734 Change-Id: Ib62e320a745c190955f181c1f4f12e4cd407ef22
-
- 25 Jul, 2022 1 commit
-
-
Dino Radakovic authored
Fixes #3937 PiperOrigin-RevId: 463180144 Change-Id: I21b528acc4c3f3aba4234642be01fcead7fe7f00
-
- 01 Jul, 2022 3 commits
-
-
Alexander Nikforov authored
-
yutotnh authored
-
yutotnh authored
-
- 29 Jun, 2022 1 commit
-
-
Abseil Team authored
PiperOrigin-RevId: 458018249 Change-Id: I7df8f75ef5b5a6478e7301f959c221810ff9f0b3
-
- 27 Jun, 2022 5 commits
-
-
Abseil Team authored
PiperOrigin-RevId: 457550818 Change-Id: I9046801b64ce4581d742d650451332fd56489632
-
assafpr authored
branch master changed to main on link
-
assafpr authored
master branch changed to main in links
-
assafpr authored
master branch changed to main in link
-
assafpr authored
-
- 22 Jun, 2022 1 commit
-
-
assafpr authored
-
- 01 Jun, 2022 1 commit
-
-
Derek Mauro authored
Some Mock constructors insert the pointer to the Mock itself into a global registry. Since GCC cannot see how the pointer is used (only as an identifier), it cannot tell that the object doesn't need to be initialized at that point at all. Work around this by using uintptr_t instead. PiperOrigin-RevId: 452380347 Change-Id: Ia5a493057ed90719de1d0efab71de9a8a08ddf8b
-
- 30 May, 2022 1 commit
-
-
Aaron Jacobs authored
This fixes unused parameter errors under both MSVC and clang (when `-Werror=unused-parameter` is used, as reported [here](https://github.com/google/googletest/commit/9d21db9e0a60a1ea61ec19331c9bc0dd33e907b1#r74769946)). Fixes #3858 PiperOrigin-RevId: 451907906 Change-Id: Ic07da19ea6a547eb1797fbbab19cd57cc2a83fe8
-
- 27 May, 2022 2 commits
-
-
Aaron Jacobs authored
Do this by ripping out the "untyped perform action" machinery, which isn't necessary: we can simply template the entry point on the result type, and use RAII to avoid the need to special case void. This makes it easier to understand the code and harder to introduce type-related undefined behavior, to boot. PiperOrigin-RevId: 451493451 Change-Id: I225305f83164752ca92f2916721972eafba33168
-
Aaron Jacobs authored
Previously this excluded callables that return non-moveable types. This is the same as the [libc++ std::is_invocable_r bug](https://github.com/llvm/llvm-project/issues/55346) fixed by [this commit](https://github.com/llvm/llvm-project/commit/c3a24882903d): it's wrong to use std::is_convertible for checking the return type, since (despite its name) that doesn't check the standard-defined notion of "implicitly convertible". Instead we must base the check on whether the source type can be used as an argument to a function that accepts the destination type. PiperOrigin-RevId: 451341205 Change-Id: I2530051312a0361ea7a2ce26993ae973c9242089
-
- 26 May, 2022 1 commit
-
-
Aaron Jacobs authored
In order to make the diff more readable in an upcoming commit that requires the method to be templated on the action's result type. PiperOrigin-RevId: 451157029 Change-Id: I57beb7544efccd0459efb3a1f039ea45cd7c7602
-
- 17 May, 2022 1 commit
-
-
Dino Radakovic authored
Fixes #3832 PiperOrigin-RevId: 449158813 Change-Id: Ibe85239ab1f123097b2c1b61616c9d611e5b90d0
-
- 13 May, 2022 1 commit
-
-
Aaron Jacobs authored
`Return(x)` can now be used directly with `WillOnce` (the only place it makes sense in the type system), without using `ByMove`. PiperOrigin-RevId: 448380066 Change-Id: Ia71cc60ccbc3b99720662731a2d309735a5ce7c8
-
- 12 May, 2022 1 commit
-
-
Aaron Jacobs authored
It doesn't make semantic sense for the conversion to modify the input, and the fact that it's allowed to do so appears to have just been a historical accident. PiperOrigin-RevId: 448135555 Change-Id: Id10f17af38cf3947ee25fe10654d97527173ebfc
-
- 11 May, 2022 2 commits
-
-
Aaron Jacobs authored
Better document requirements, API decisions, and historical accidents. Make an implicit conversion easier and in a more appropriate place, and ease the burden of some assertions in the conversion operator. Stop using the legacy ActionInterface style for defining the action. PiperOrigin-RevId: 447894892 Change-Id: I179e23ec2abdd9bf05c204ab18dbb492f1372e8e
-
Aaron Jacobs authored
So that it can be referenced in conversion operators for actions that need to know the concrete return type. PiperOrigin-RevId: 447889344 Change-Id: I643d3298bc8effd08741282a956c221f9d67d378
-
- 03 May, 2022 1 commit
-
-
Abseil Team authored
PiperOrigin-RevId: 446259163 Change-Id: I3ad5f405f44fc233f5cf5a18a274a9104b5c4ab8
-
- 02 May, 2022 2 commits
-
-
Aaron Jacobs authored
PiperOrigin-RevId: 445940487 Change-Id: I26952a72327db0d308bbe57ca4d1d91a0d7defc8
-
Aaron Jacobs authored
Rather than branching on whether the return type is ByMoveWrapper within ReturnAction itself, hoist the distinction to outside. This allows the main class template to be modified without worrying about this special case, which means we can stop using a shared pointer to the value (introduced as a linked_ptr in commit 3d1c78b2 to support ByMove) in this commit and simplify the class template further in a future commit with the eventual aim of directly supporting move-only result types. PiperOrigin-RevId: 445938943 Change-Id: I7bc71ea301d5e493ac6ecbe57d62738a48a2721a
-
- 27 Apr, 2022 1 commit
-
-
Aaron Jacobs authored
Commit a070cbd9 added an implicit cast to this path but didn't leave a very clear explanation for why it was desirable, a clear example, or even test coverage. Add a better comment and a test that fails when the implicit cast is removed. PiperOrigin-RevId: 444871311 Change-Id: I127982fa8d5bce9b6d1b68177c12dc0709449164
-
- 26 Apr, 2022 3 commits
-
-
Aaron Jacobs authored
PiperOrigin-RevId: 444671005 Change-Id: I7df5f038caf17afb60d4fb35434ff0b656d4c954
-
Abseil Team authored
PiperOrigin-RevId: 444586594 Change-Id: I0de9b40b3773e3047a492f050266967ea935ae3e
-
Aaron Jacobs authored
This is necessary for generic support of these actions, since `DoAll` is a frequently-used action wrapper. PiperOrigin-RevId: 444561964 Change-Id: I02edb55e35ab4207fbd71e371255a319c8253136
-
- 22 Apr, 2022 1 commit
-
-
Derek Mauro authored
PiperOrigin-RevId: 443715444 Change-Id: I3ffd54b63d2728ae4a668ee7875c8c3c8188087c
-
- 21 Apr, 2022 1 commit
-
-
Derek Mauro authored
PiperOrigin-RevId: 443462203 Change-Id: I0c43f981663a7531ff5da4d4be01fb3d6762273d
-
- 13 Apr, 2022 2 commits
-
-
Aaron Jacobs authored
PiperOrigin-RevId: 441589196 Change-Id: Ic3e483ca70d72261046bad464d817f9dfd4bec65
-
Abseil Team authored
Replace infinite recursion call (intentionally invoking undefined behavior to indicate unreachability) with explicit unreachability marker. PiperOrigin-RevId: 441474979 Change-Id: I1fcbb437026631212fec954c663482bb7e1cf819
-
- 09 Apr, 2022 1 commit
-
-
Abseil Team authored
This provides a type-safe way for an action to express that it wants to be called only once, or to capture move-only objects. It is a generalization of the type system-evading hack in ByMove, with the improvement that it works for _any_ action (including user-defined ones), and correctly expresses that the action can only be used with WillOnce. I'll make existing actions benefit in a future commit. PiperOrigin-RevId: 440496139 Change-Id: I4145d191cca5655995ef41360bb126c123cb41d3
-
- 04 Apr, 2022 3 commits
-
-
Abseil Team authored
Avoid instantiating functions like std::get<index> for an out of range index when doing SFINAE on the invocability of the action itself. PiperOrigin-RevId: 439415110 Change-Id: Ifc20285a6d526c34830870cd1910c2b2b92e1e81
-
Abseil Team authored
PiperOrigin-RevId: 439389646 Change-Id: Ie34adcdd2b24378e85962efac53b7bb89ed93803
-
Derek Mauro authored
When built with `--define=absl=1` under Bazel, GoogleTest flags use ABSL_FLAG instead of GoogleTest's own implementation. There are some minor behavior differences in this mode. The most notable difference is that unrecognized flags result in a flag parsing error, and are not returned to the user though a modified argc/argv, unless they appear after the positional argument delimiter ("--"). For example, to pass a non-Abseil flag, you would have to do ./mytest --gtest_color=false -- --myflag=myvalue The documentation at https://abseil.io/docs/cpp/guides/flags may be helpful in understanding the behavior. There are some other minor differences. For example, passing --help results in the program returning 1 instead of 0. https://github.com/google/googletest/issues/3646 PiperOrigin-RevId: 439312700 Change-Id: Id696a25f50f24a5b1785c45ca8fa59794f86fd5c
-
- 23 Mar, 2022 2 commits
-
-
Abseil Team authored
PiperOrigin-RevId: 436839469 Change-Id: I2bb90dce524c16bcc31569bb98772dcc62d08fbf
-
Mattias Ellert authored
The one large test does not link in limited memory environments Closes #3653 PiperOrigin-RevId: 436753193 Change-Id: Idd59b6509994fc642147b88279ee791cd1d7bdd0
-