mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 09:17:30 +03:00
e07f8bd7b6
Summary: This splits `EDEN_BUG()` into three separate version. All three crash in debug mode builds, but in release builds they behave differently: - `EDEN_BUG()` throws an exception - `EDEN_BUG_FUTURE(Type)` returns a `folly::Future<Type>` that has been fulfilled with an exception. - `EDEN_BUG_EXCEPTION()` returns a `folly::exception_wrapper`. The main advantage of this is that this allows the compiler to detect that `EDEN_BUG()` can never return. Previously `EDEN_BUG()` was used for all 3 of these different cases, and its behavior depended on whether `toException()` was ever called. As a result we could not easily get the compiler to identify code paths where we know at compile time that it will never return. Reviewed By: chadaustin Differential Revision: D18652103 fbshipit-source-id: 070107c7520f51b05696905fa243de5f8df15958 |
||
---|---|---|
.. | ||
test | ||
CMakeLists.txt | ||
takeover.thrift | ||
TakeoverClient.cpp | ||
TakeoverClient.h | ||
TakeoverData.cpp | ||
TakeoverData.h | ||
TakeoverHandler.h | ||
TakeoverServer.cpp | ||
TakeoverServer.h |