{"push_id":1478689069,"size":10,"distinct_size":10,"ref":"refs/heads/master","head":"67f7bb722a46b2e7226a73aae0ce803df8444efd","before":"f4dd104c297892b176b85723f0c6b0fd9214f091","commits":[{"sha":"1c3b25b2e85f87c8097abd71301bbd285a16b21f","author":{"name":"Philip Pronin","email":"c310299814cb2b6d192afb3f47c040037216e67c@fb.com"},"message":"nuke UNSYNCHRONIZED\n\nSummary:\nAPI of `UNSYNCHRONIZED` is confusing as if you have two nested\n`SYNCHRONIZED` blocks, `UNSYNCHRONIZED` always unlocks the inner-most,\neven if you pass in the variable name used in the outer `SYNCHRONIZED`\nblock.\n\nThe macro was marked as \"deprecated\" in D3526489, remove it here.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D4371297\n\nfbshipit-source-id: 13ddc1ff77cb3d5045844c5ade0e95dbe2bccf6d","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/1c3b25b2e85f87c8097abd71301bbd285a16b21f"},{"sha":"ec5f59cf16844e37c3915f9df69099bba63062b1","author":{"name":"Yedidya Feldblum","email":"6292954432d1e8f0395f3b77ef169850e7b47c24@fb.com"},"message":"folly::copy\n\nSummary:\n[Folly] `folly::copy`.\n\nUsable when you have a function with two overloads:\n\n    class MyData;\n    void something(MyData&&);\n    void something(const MyData&);\n\nWhere the purpose is to make copies and moves explicit without having to spell out the full type names - in this case, for copies, to invoke copy constructors.\n\nWhen the caller wants to pass a copy of an lvalue, the caller may:\n\n    void foo() {\n      MyData data;\n      something(folly::copy(data)); // explicit copy\n      something(std::move(data)); // explicit move\n      something(data); // const& - neither move nor copy\n    }\n\nReviewed By: markisaa, ericniebler\n\nDifferential Revision: D3462023\n\nfbshipit-source-id: 6c777be288f2a7012c1b4b46dc988890b8662595","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/ec5f59cf16844e37c3915f9df69099bba63062b1"},{"sha":"87659d07c32268836a18c5ccafb60612b8ffbdd4","author":{"name":"Anirudh Ramachandran","email":"0ec3d522cde0d95df226716787baf1b28875ceab@fb.com"},"message":"Add OpenSSL portability layer\n\nSummary:\nEnable folly to build with OpenSSL alternatives (e.g., BoringSSL).\n\nSome SSL-related tests are disabled:\n\n - Async session cache ones (BoringSSL has an async cache impl but with a different API)\n - TFO tests\n - Some changes to error tests which expect specific error strings. This is\n   flaky as a test because it will break everytime even within a version, so we\n   should fix that first.\n\nThis should be a noop for OpenSSL 1.0.2.\n\nBoringSSL commit used is 35c8afd3143289c99aa3820e01950c564d7aced8 (10/26/2016)\n\nCloses: https://github.com/facebook/folly/issues/198\n\nReviewed By: siyengar\n\nDifferential Revision: D3280382\n\nfbshipit-source-id: 4141d992e0d8dd797ac4af479cfe90844a23278f","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/87659d07c32268836a18c5ccafb60612b8ffbdd4"},{"sha":"e910dd4bdc9db80cb412a5c6d4af8c6f9faa5591","author":{"name":"Giuseppe Ottaviano","email":"9bbe578c99ed165f1bc9d33970095b16603e7461@fb.com"},"message":"Avoid shadowing warnings in SYNCHRONIZED\n\nSummary: If two `SYNCHRONIZED` blocks are nested the internal `SYNCHRONIZED_*` variables can be compatible shadows (`SYNCHRONIZED_state` always is), so GCC will issue a warning with `-Wshadow-compatible-local`. This diff disambiguates the variable names for each `SYNCHRONIZED` block (as long as they appear on different lines).\n\nReviewed By: yfeldblum, philippv\n\nDifferential Revision: D4371263\n\nfbshipit-source-id: b467a1a2651667c679382a1cc1eaa28f7ee4e6b3","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/e910dd4bdc9db80cb412a5c6d4af8c6f9faa5591"},{"sha":"42f55fa585897da3f9b3afefc399a4544bbaf074","author":{"name":"Bi Xue","email":"a755648abdb863a5b60bafbfc7f88644ee065d7c@fb.com"},"message":"Make FunctionRef support bool operator\n\nSummary:\nTo support following code:\n```\nvoid foo(folly::FunctionRef<void(void)> callback = {}) {\n  if (callback) {\n    callback();\n  }\n}\n```\n\nReviewed By: yfeldblum\n\nDifferential Revision: D4372296\n\nfbshipit-source-id: 7d21e6a44b6f6b046b424f0139465511dbae7b8b","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/42f55fa585897da3f9b3afefc399a4544bbaf074"},{"sha":"42ba1a2241675cac61c0b61214d2a895ef0c2a3e","author":{"name":"Eric Niebler","email":"3d766cd4a1c9a2d4b4d1917dbde8562e9687411f@fb.com"},"message":"folly::FutureException inherits from std::logic_error, like std::future_error; becomes smaller and nothrow-copy\n\nSummary:\nfolly::FutureException was inheriting from std::exception and managing its own message in a std::string data member.\nThat is suboptimal for the following reasons:\n\n1) The analagous std:: type, std::future_error, inherits from std::logic_error. According to the Principle of Least\n   Astonishment, folly::FutureExpception should follow suit.\n2) std::logic_error has a nothrow copy constructor. (This is typically implemented with a ref-counted string.)\n   std::string does not. By explicitly managing its own message, folly::FutureException picks up a throwing copy\n   constructor. Exception classes should try to be nothrow copyable.\n3) With most stdlib implementations, std::string is larger by a lot than the std:: exceptions. By changing\n   folly::FutureException as suggested, its size drops from 40 bytes to 16 on clang and gcc >=5.0.\n\nAlso, I took the liberty of fixing some copy-pastas that gave some of these exception types explicit default\nconstructors.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D4367909\n\nfbshipit-source-id: 1639d404237493f929db6116a760c2d0e599877d","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/42ba1a2241675cac61c0b61214d2a895ef0c2a3e"},{"sha":"06649f434861ba1a287df67ce28486879a5cddc6","author":{"name":"Eric Niebler","email":"3d766cd4a1c9a2d4b4d1917dbde8562e9687411f@fb.com"},"message":"folly::TryException inherits from std::logic_error, like std::bad_optional_access; becomes no-throw copyable\n\nSummary:\nfolly::TryException was inheriting from std::exception and managing its own message in a std::string data member.\nThat is suboptimal for the following reasons:\n\n1) The analagous std:: type, std::bad_optional_access, inherits from std::logic_error. According to the Principle of Least\n   Astonishment, folly::TryException should follow suit.\n2) std::logic_error has a nothrow copy constructor. (This is typically implemented with a ref-counted string.)\n   std::string does not. By explicitly managing its own message, folly::TryException picks up a throwing copy\n   constructor. Exception classes should try to be nothrow copyable.\n3) With most stdlib implementations, std::string is larger by a lot than the std:: exceptions. By changing\n   folly::TryException as suggested, its size drops from 40 bytes to 16 on clang and gcc >=5.0.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D4368760\n\nfbshipit-source-id: 327f78f428419ccf9c7af3e0f57cc478d147fb37","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/06649f434861ba1a287df67ce28486879a5cddc6"},{"sha":"686092cb22fbe4ddb4ffefec9b9bf0ae000d2f68","author":{"name":"Yedidya Feldblum","email":"6292954432d1e8f0395f3b77ef169850e7b47c24@fb.com"},"message":"Const-correctness for folly::exception_wrapper::with_exception with non-std::exception\n\nSummary:\n[Folly] Const-correctness for `folly::exception_wrapper::with_exception` with non-`std::exception`.\n\nThis also lets us unify the various flavors of `with_exception` and `is_compatible_with`. And fix `is_compatible_with` for non-`exception` types.\n\nReviewed By: ericniebler\n\nDifferential Revision: D4364474\n\nfbshipit-source-id: 417edfd45f7cfba952ce961559da67769b7c41bc","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/686092cb22fbe4ddb4ffefec9b9bf0ae000d2f68"},{"sha":"1d36d4649eb1f80a7741a9b71902dbf5e9b6dc61","author":{"name":"Yedidya Feldblum","email":"6292954432d1e8f0395f3b77ef169850e7b47c24@fb.com"},"message":"Let Future::then call callbacks outside of the catch handler\n\nSummary:\n[Folly] Let `Future::then` call callbacks outside of the catch handler.\n\nAnd `Future::onError`.\n\nThis makes the behavior of calls to `Future` callbacks with respect to currently-handled (\"active\") exceptions consistent - there will not be an active exception by the time the `Future` callback is called. (Unless `Future::then` or `Future::onError`, etc., is itself called with an active exception. Or unless the `Promise` is fulfilled, outside of the `Future` implementation code, with an active exception.)\n\nThis will affect any code which tries to call `std::current_exception()` or `throw;` from within a `Future` callback, such as an `onError` handler. That code will crash. (It was incorrect anyway, and relied on misusing Folly Futures.)\n\nReviewed By: ericniebler\n\nDifferential Revision: D4372173\n\nfbshipit-source-id: 600b22e4db63c98358de29a6abcee807fbc53b0f","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/1d36d4649eb1f80a7741a9b71902dbf5e9b6dc61"},{"sha":"67f7bb722a46b2e7226a73aae0ce803df8444efd","author":{"name":"Zbigniew Szymanski","email":"d6f363dbb7719972727ca7aaffc2361e156a9c7f@fb.com"},"message":"Move internal `decodeUtf8` method from json.cpp to public util Unicode.h\n\nSummary:\nMoved decodeUtf8 -> folly::utf8ToCodePoint.\nImplementation was not changed to make sure no bugs are introduced.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D4372739\n\nfbshipit-source-id: a015a9c47ece825e09e7c243fae454f21f99db80","distinct":true,"url":"https://api.github.com/repos/shantanusharma/folly/commits/67f7bb722a46b2e7226a73aae0ce803df8444efd"}]}
{"actor":{"display_login":"shantanusharma"}}