{"push_id":542790670,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"8cedfc6582a981dece24d9c53d0777d1d0d1a7f9","before":"33639e9f03b43d371341495d9c3764ce722e2ede","commits":[{"sha":"cf073f82c7a4fb589bcf0c146ba5d90fbf530251","author":{"email":"f7a3a5c0528e7657f3f7816faa0a5e2de16317f6@fb.com","name":"Sara Golemon"},"message":"Add a bunch of async helper functions\n\nSummary: These functions, in the HH\\Async namespace,\nprovide common tasks related to async I/O.\n\nFor example, awaiting on multiple handles can be reduced from:\n\n  await AwaitAllWaitHandle::fromArray($handles);\n  $results = array_map($h ==> $h->result(), $handles);\n\nto:\n\n  $results = await HH\\Async\\a($handles);\n\nAdditionally, WrappedException and WrappedResult are provided\nfor WaitHandles which may throw exceptions, allowing for them\nto be dealt with sanely, despite throwing in parallel.\n\n  $results = await HH\\Async\\aw($handles);\n  foreach ($results as $result) {\n    if ($result instanceof HH\\Async\\WrappedException) {\n      dealWithException($result->getException());\n    } else {\n      useResult($result->getResult());\n    }\n  }\n\nSee hphp/system/php/async/util.ns.php for a description of\nthe full API.\n\nNote that I had to go with the HH\\Asio namespace rather than\nHH\\Async since \"Async\" is caught by the lexer as T_ASYNC and\nthrown out by the parser as a reserved word. :~(\n\n{sync, type=\"child\", parent=\"internal\", parentrevid=\"1743614\", parentrevfbid=\"347441822127165\", parentdiffid=\"6114097\"}\n\nReviewed By: @billf\n\nDifferential Revision: D1743614\n\nSignature: t1:1743614:1420767281:c25b7e86af20247d622fc0d6a98720782c036d74","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/cf073f82c7a4fb589bcf0c146ba5d90fbf530251"},{"sha":"d805b147227d8ed647eaea9558946bc3e6599da7","author":{"email":"f7a3a5c0528e7657f3f7816faa0a5e2de16317f6@fb.com","name":"Sara Golemon"},"message":"Capture full line ending for single-line comments\n\nSummary: Currently we only capture the full \\r\\n line-ending\nfor a single line comment *if* the comment length falls on an\neven number of characters.  If its odds, then the \\r pairs the\nlast character, the \\n is missed, and we appear to have an\nold mac-style line ending.\n\nRefactor ST_ONE_LINE_COMMENT, simplifying it along the way.\n\nCloses #4536\n\n{sync, type=\"child\", parent=\"internal\", parentrevid=\"1759497\", parentrevfbid=\"759734954108711\", parentdiffid=\"6045808\"}\n\nReviewed By: @fredemmott\n\nDifferential Revision: D1759497\n\nSignature: t1:1759497:1419896772:4a55f80f4339e9291bf7216a50ba6bf009396916","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/d805b147227d8ed647eaea9558946bc3e6599da7"},{"sha":"8cedfc6582a981dece24d9c53d0777d1d0d1a7f9","author":{"email":"e3c61ea811b765394b92ba9fd1ddac9df77919c8@fb.com","name":"Jeff Hemphill"},"message":"Remove PrivacyPolicy covariance hack and allow PrivacyPolicy<this>\n\nSummary: So far my experience with `this` in generics has been very good - I'm not sure why we're still gating it in generics, since Hack seems to have no trouble handling it.\n\nReviewed By: @elgenie\n\nDifferential Revision: D1756811","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/8cedfc6582a981dece24d9c53d0777d1d0d1a7f9"}]}