{"push_id":1945098954,"size":82,"distinct_size":28,"ref":"refs/heads/master","head":"04c5b46c90fab394271c0f1b6ea31ccdc5517402","before":"2f29f198bfd04aadfae3b5a6152c855f9bb999d6","commits":[{"sha":"14457cf6a50f708eecece8f286f08687791d51f7","author":{"name":"Cyd Parser","email":"b5d3a07a2eb28fb5ff608fc1bcdefb342d1a2004@gmail.com"},"message":"Fix EmptyCase documentation","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/14457cf6a50f708eecece8f286f08687791d51f7"},{"sha":"a4f347c23ed926c24d178fec54c27d94f1fae0e4","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Split out inferConstraintsDataConArgs from inferConstraints\n\nSummary:\nAddresses point (1) of https://phabricator.haskell.org/D3337#107865.\n\nBefore, `inferConstraints` awkwardly combined all of the logic needed to handle\nstock, newtype, and anyclass deriving. Really, though, the stock/newtype logic\nis quite different from the anyclass logic, so this splits off\n`inferConstraintsDataConArgs` (so named because it infers constraints by\ninspecting the types of the arguments to data constructors) from\n`inferConstraints` to handle the stock/newtype-specific bits.\n\nAside from making the code somewhat clearer, this allows us to factor out\nsuperclass constraint inference, which is done regardless of deriving strategy.\n\nTest Plan: If it builds, ship it\n\nReviewers: bgamari, austin\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D3827","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/a4f347c23ed926c24d178fec54c27d94f1fae0e4"},{"sha":"3f05e5f6becc2f7174898726b6f027105b12a780","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Don't suppress unimplemented type family warnings with DeriveAnyClass\n\nSummary:\nFor some asinine reason, we were suppressing warnings when\nderiving associated type family instances with `DeriveAnyClass`. That seems\nlike a bad idea. Let's not do that.\n\nAlong the way, I noticed that the error contexts associated with these\nnewly emitted warnings were less than ideal, so I did some minor refactoring\nto improve the story there.\n\nFixes #14094\n\nTest Plan: ./validate\n\nReviewers: bgamari, austin\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #14094\n\nDifferential Revision: https://phabricator.haskell.org/D3828","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/3f05e5f6becc2f7174898726b6f027105b12a780"},{"sha":"7d699782bf6148c115a49b5f31ada9bd7c32a7d6","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Use NonEmpty lists to represent lists of duplicate elements\n\nSummary:\nThree functions in `ListSetOps` which compute duplicate elements\nrepresent lists of duplicates of `[a]`. This is a really bad way to go about\nthings, because these lists are guaranteed to always have at least one element\n(the \"representative\" of the duplicates), and several places in the GHC API\ncall `head` (a partial function) on these lists of duplicates to retrieve the\nrepresentative.\n\nThis changes the representation of duplicates to `NonEmpty` lists instead,\nwhich allow for many partial uses of `head` to be made total.\n\nFixes #13823.\n\nTest Plan: ./validate\n\nReviewers: bgamari, austin, goldfire\n\nReviewed By: bgamari\n\nSubscribers: goldfire, rwbarton, thomie\n\nGHC Trac Issues: #13823\n\nDifferential Revision: https://phabricator.haskell.org/D3823","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/7d699782bf6148c115a49b5f31ada9bd7c32a7d6"},{"sha":"4f1f9868ae79b5730c6aa14b05394d3f1d10a857","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Change isClosedAlgType to be TYPE-aware, and rename it to pmIsClosedType\n\nSummary:\nIn a267580e4ab37115dcc33f3b8a9af67b9364da12, I somewhat awkwardly\ninserted a special case for `TYPE` in the `EmptyCase` coverage checker.\nInstead of placing it there, @mpickering noted that `isClosedAlgType` would\nbe a better fit for it. I do just that in this patch.\n\nI also renamed `isClosedAlgType` to `pmIsClosedType`, reflecting the fact that\n`TYPE` technically isn't an algebraic type (it's a primitive one), and that its\nbehavior is pattern-match coverage checking-oriented. I also moved it to\n`Check`, which is a better home for this function than `Type`. Luckily,\nthe only call sites for `isClosedAlgType` were in the pattern-match coverage\nchecker anyways, so this change is simple enough.\n\nTest Plan: ./validate\n\nReviewers: mpickering, austin, goldfire, bgamari\n\nReviewed By: goldfire\n\nSubscribers: rwbarton, thomie, mpickering\n\nGHC Trac Issues: #14086\n\nDifferential Revision: https://phabricator.haskell.org/D3830","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/4f1f9868ae79b5730c6aa14b05394d3f1d10a857"},{"sha":"0bb1e84034a12d7f700b48fca6710c01bd08f397","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Expand type synonyms during role inference\n\nSummary:\nDuring role inference, we need to expand type synonyms, since\noversaturated applications of type synonym tycons would otherwise have overly\nconservative roles inferred for its arguments.\n\nFixes #14101.\n\nTest Plan: ./validate\n\nReviewers: goldfire, austin, bgamari\n\nReviewed By: goldfire\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #14101\n\nDifferential Revision: https://phabricator.haskell.org/D3838","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/0bb1e84034a12d7f700b48fca6710c01bd08f397"},{"sha":"c6462ab02882779d7e33f2cac00cd89a9ac192f1","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Add test for #14101\n\nI forgot to do this in\n0bb1e84034a12d7f700b48fca6710c01bd08f397.","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/c6462ab02882779d7e33f2cac00cd89a9ac192f1"},{"sha":"7c37ffe8f0acd2f72e3d3aeeb517991fa7d45a16","author":{"name":"Ben Gamari","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@smart-cactus.org"},"message":"Point to FunDeps documentation on Haskell wiki","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/7c37ffe8f0acd2f72e3d3aeeb517991fa7d45a16"},{"sha":"ad7b945257ea262e3f6f46daa4ff3e451aeeae0b","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Fix #14060 by more conservatively annotating TH-reified types\n\nBefore, TH was quite generous in applying kind annotations to reified\ntype constructors whose result kind happened to mention type variables.\nThis could result in agonizingly large reified types, so this patch aims\nto quell this a bit by adopting a more nuanced algorithm for determining\nwhen a tycon application deserves a kind annotation.\n\nThis implements the algorithm laid out in\nhttps://ghc.haskell.org/trac/ghc/ticket/14060#comment:1. I've updated\n`Note [Kind annotations on TyConApps]` to reflect the new wisdom.\nEssentially, instead of only checking if the result kind contains free\nvariables, we also check if any of those variables do not appear free in\ninjective positions in the argument kinds—only then do we put on a kind\nannotation.\n\nBumps `haddock` submodule.\n\nTest Plan: make test TEST=T14060\n\nReviewers: goldfire, austin, bgamari\n\nReviewed By: goldfire\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #14060\n\nDifferential Revision: https://phabricator.haskell.org/D3807","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/ad7b945257ea262e3f6f46daa4ff3e451aeeae0b"},{"sha":"0a891c8c448a0e70abb075702857d743674ad1ad","author":{"name":"Gleb Popov","email":"41871c6583dbc517f55a6e97a4819a35abdce9ae@gmail.com"},"message":"Properly handle dlerror() message on FreeBSD when linking linker scripts\n\nTest Plan: `GHCi.loadDll \"/usr/lib/libc++.so` now works on FreeBSD.\n\nReviewers: austin, bgamari, erikd, simonmar\n\nReviewed By: simonmar\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D3841","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/0a891c8c448a0e70abb075702857d743674ad1ad"},{"sha":"ddb870bf7055ccc8ff8b86c161f31aad81d01add","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Don't drop GHCi-defined functions with -fobject-code enabled\n\nThe desugarer was using `targetRetainsAllBindings` as a litmus test for\ndetermining if a function was defined in interactive mode (and thus\nshould be exported). However, there is a corner case where one can be in\ninteractive mode and have `targetRetainsAllBindings` return `False`: if\n`-fobject-code` is enabled (since the target will no longer be\n`HscInteractive`). In such a scenario, we should fall back on a\ndifferent test for determining if we are in a GHCi session. I chose to\nuse `isInteractiveModule`, which appears to do the trick.\n\nTest Plan: make test TEST=T12091\n\nReviewers: austin, bgamari\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #12091\n\nDifferential Revision: https://phabricator.haskell.org/D3849","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/ddb870bf7055ccc8ff8b86c161f31aad81d01add"},{"sha":"ed7a830de6a2ea74dd6bb81f8ec55b9fe0b52f28","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Use a ReaderT in TcDeriv to avoid some tedious plumbing\n\nAddresses point (2) of https://phabricator.haskell.org/D3337#107865.\n\nBefore, several functions in `TcDeriv` and `TcDerivInfer` which compute\nan `EarlyDerivSpec` were manually threading through about 10 different\narguments, which contribute to quite a lot of clutter whenever they need\nto be updated. To minimize this plumbing, and to make it clearer which\nof these 10 values are being used where, I refactored the code in\n`TcDeriv` and `TcDerivInfer` to use a new `DerivM` type:\n\n```lang=haskell\ntype DerivM = ReaderT DerivEnv TcRn\n```\n\nwhere `DerivEnv` contains the 10 aforementioned values. In addition to\ncleaning up the code, this should make some subsequent changes planned\nfor later less noisy.\n\nTest Plan: ./validate\n\nReviewers: austin, bgamari\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D3846","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/ed7a830de6a2ea74dd6bb81f8ec55b9fe0b52f28"},{"sha":"21bd9b2f3f48af453348f40a740ee8f4c26fdace","author":{"name":"Gleb Popov","email":"41871c6583dbc517f55a6e97a4819a35abdce9ae@gmail.com"},"message":"Recognize FreeBSD compiler as Clang.\n\nReviewers: austin, bgamari\n\nReviewed By: bgamari\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D3840","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/21bd9b2f3f48af453348f40a740ee8f4c26fdace"},{"sha":"a520adcce27908c799b64214618cf9b33572dc37","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Bump mtl, parsec, text submodules\n\nThese three submodules have commits which add certain files to their\nrespective .gitignores which GHC's build system produces. Also update\nthe packages file accordingly.\n\nTest Plan: If it builds, ship it\n\nReviewers: hvr, austin, bgamari\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D3842","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/a520adcce27908c799b64214618cf9b33572dc37"},{"sha":"441c52de0621ac68a2248cf691b4de31fba48a34","author":{"name":"Ben Gamari","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@smart-cactus.org"},"message":"Add Semigroup/Monoid instances to ST monad\n\nFixes #14107.\n\nSigned-off-by: Philipp Middendorf <middendorf@plapadoo.de>\n\nReviewers: austin, hvr, bgamari, RyanGlScott\n\nReviewed By: bgamari\n\nSubscribers: RyanGlScott, rwbarton, thomie\n\nGHC Trac Issues: #14107\n\nDifferential Revision: https://phabricator.haskell.org/D3845","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/441c52de0621ac68a2248cf691b4de31fba48a34"},{"sha":"b0285d1fa76769d59e69cb9bf97675868d90a028","author":{"name":"Ben Gamari","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@smart-cactus.org"},"message":"Bump nofib submodule","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/b0285d1fa76769d59e69cb9bf97675868d90a028"},{"sha":"e054c5f06451def4437d9d770ae156f034796c59","author":{"name":"Ben Gamari","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@smart-cactus.org"},"message":"Bump mtl, parsec, text submodules\n\na520adcce27908c799b64214618cf9b33572dc37 updated the upstream repository\nlocations but failed to update the commits themselves.","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/e054c5f06451def4437d9d770ae156f034796c59"},{"sha":"6e9c8eb9885f894eed7e01a074ee7d83b251b1b1","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Bump mtl, parsec, text submodules (again)\n\nWe failed to add dist-install and dist-boot to .gitignore in the commits\nbrought in via commit e054c5f06451def4437d9d770ae156f034796c59. This round of\nsubmodule commits should do the trick.","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/6e9c8eb9885f894eed7e01a074ee7d83b251b1b1"},{"sha":"a8da0de27e600211f04601ac737c329d6603c700","author":{"name":"Ben Gamari","email":"38bba16f36047cd11ea03f28d409215538b379f3@gmail.com"},"message":"Speed up compilation of profiling stubs\n\nHere we encode the cost centre list as static data. This means that the\ninitialization stubs are small functions which should be easy for GCC to\ncompile, even with optimization.\n\nFixes #7960.\n\nTest Plan: Test profiling\n\nReviewers: austin, erikd, simonmar\n\nReviewed By: simonmar\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #7960\n\nDifferential Revision: https://phabricator.haskell.org/D3853","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/a8da0de27e600211f04601ac737c329d6603c700"},{"sha":"b0ed07fafbe96c3eee6c7f41ef937973bedbf1dc","author":{"name":"Ben Gamari","email":"38bba16f36047cd11ea03f28d409215538b379f3@gmail.com"},"message":"Allow TcDerivInfer to compile with GHC 8.0.1\n\nAs of ed7a830de6a2ea74dd6bb81f8ec55b9fe0b52f28 this module uses\nMultiWayIf, the parsing behavior of which changed in 8.0.2 due\nto #10807. Reformat the code so that it compiles under both 8.0.1 and\n8.0.2/8.2.1.\n\nTest Plan: Validate bootstrapping with 8.0.1\n\nReviewers: austin\n\nSubscribers: rwbarton, thomie, RyanGlScott\n\nGHC Trac Issues: #14130\n\nDifferential Revision: https://phabricator.haskell.org/D3863","distinct":false,"url":"https://api.github.com/repos/bgamari/ghc/commits/b0ed07fafbe96c3eee6c7f41ef937973bedbf1dc"}]}
{"actor":{"display_login":"bgamari"}}