{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":110274488,"defaultBranch":"main","name":"pyre-check","ownerLogin":"facebook","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-11-10T17:31:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/69631?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717991760.0","currentOid":""},"activityList":{"items":[{"before":"64c6530d4bd883f76dd0fc94423b630cb0e1a94b","after":"9f4d74bee841f1a6674d6a646629af61cb9cd1f7","ref":"refs/heads/gh-pages","pushedAt":"2024-06-11T19:12:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@32ce60ce871b3e8459f04eaab38bb4bb06b251f3 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 32ce60c πŸš€"}},{"before":"9fc12b9fd9b58d04e0f9bd001f0bb5899ab985d3","after":"32ce60ce871b3e8459f04eaab38bb4bb06b251f3","ref":"refs/heads/main","pushedAt":"2024-06-11T19:10:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"move resolve_attribute_access out of forward_expression\n\nSummary:\nThe diff view is pretty confusing, but this diff just lifts resolve_attribute_access out of forward_expression into the top level.\n\nI think we want to call this (or some subset of it) during augmented assignments to handle the fallback from `__i*__` to `__*__`\n\nReviewed By: samwgoldman\n\nDifferential Revision: D58415997\n\nfbshipit-source-id: 2d33d5ce1107ea0752c4077ac8eb2f7ca607eb71","shortMessageHtmlLink":"move resolve_attribute_access out of forward_expression"}},{"before":"f9e83e705fb00f8337c2920bc9a31e9a0e0dae70","after":"9fc12b9fd9b58d04e0f9bd001f0bb5899ab985d3","ref":"refs/heads/main","pushedAt":"2024-06-11T19:03:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Wrap breadcrumbs into a local domain and a propagated domain\n\nSummary:\n# Problem\nWe might want to change where we store \"local\" breadcrumbs, i.e breadcrumbs that were inferred during the current function. We could get more precise breadcrumbs by moving them all the way down in the taint representation.\n\nThe problem is that doing that is currently painful, because we make assumptions about the taint structure in many places. More specifically, we use `LocalTaint.update` with specific slots.\n\nThis is because manipulating breadcrumbs with the generic `transform BreadcrumbSet.Self ..` operator doesn't work: indeed, `BreadcrumbSet.Self` can refer to both the local breadcrumbs and the propagated ones, hence the LocalTaint abstract domain doesn't known which one it is.\n\n# Solution\nLet's introduce a new wrapper domain, which is a copy of an abstract domain with an additional `Self` part.\nThis allows us to use `transform LocalBreadcrumbSet.Self` and `transform PropagatedBreadcrumbSet.Self`.\n\nReviewed By: alexkassil\n\nDifferential Revision: D58363492\n\nfbshipit-source-id: 5c79530da7cb35ac580aaa66d99efb9e17daf70c","shortMessageHtmlLink":"Wrap breadcrumbs into a local domain and a propagated domain"}},{"before":"42ce039ca7ec7bdb3910e00c78f9255d66dc1351","after":"f9e83e705fb00f8337c2920bc9a31e9a0e0dae70","ref":"refs/heads/main","pushedAt":"2024-06-11T18:51:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Parse using multiple partial sink kinds in the same rule\n\nSummary:\nThe syntax of multi-source rules is designed to be the same as other taint\nanalysis tools, so that the user experience is the same across tools.\n\n**Combined source rules.** Now we have a section called `rules` that contain\ntwo sub-rules. This syntax is similar to other tools. Note that the syntax no\nlonger supports specifying main / secondary flows, because such support is\nalready deprecated by the backend. We can bring this back if needed (which\nneeds further investigation).\n\n**String combine rules.** They now look exactly the same as combined source\nrules, which reflects the fact the they share the same underlying\nimplementation. As a result, we now require users to specify both partial sink\nkinds in a rule. By contrast, we previously only ask a user to specify a single\npartial sink kind, and auto-generate the kinds (with labels).\n\nAn alternative design is to keep the existing behavior -- specifying a single\npartial sink kind and then auto-generating different kinds for the two\nsub-rules. But I think it is simpler for both the users and the implementation\nif string combine rules are syntactically similar to combined source rules.\n\nIn addition, the syntax also no longer supports specifying main / secondary\nflows.\n\n**Implementation.** The main changes are:\n1. Module `CombinedSourceRuleSources` is renamed and updated, because we no\nlonger have a concept of \"labels\".\n2. Tests in `configurationTest.ml`.\n\nNote that the old syntax are still supported. Otherwise landing this diff would\nbreak the CI tests (which run against `master`), which is not ideal. To test\nthis support, I kept some of the old tests that parse the old syntax. I\ndeliberately dropped the tests that test against parsing errors, to simplify\nthe diff. The old tests will be removed once the rules in production are\nmigrated.\n\nReviewed By: arthaud\n\nDifferential Revision: D58260058\n\nfbshipit-source-id: fcbeb821b87f94c42e0d37b1ef63190d885bcc43","shortMessageHtmlLink":"Parse using multiple partial sink kinds in the same rule"}},{"before":"82b9f7bb326fa90b58bfad2090f8bb3471d36380","after":"64c6530d4bd883f76dd0fc94423b630cb0e1a94b","ref":"refs/heads/gh-pages","pushedAt":"2024-06-11T17:41:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@42ce039ca7ec7bdb3910e00c78f9255d66dc1351 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 42ce039 πŸš€"}},{"before":"2d5954f2b6e31d07dcccddf06eb699794d096d45","after":"42ce039ca7ec7bdb3910e00c78f9255d66dc1351","ref":"refs/heads/main","pushedAt":"2024-06-11T17:39:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Simplify refinement logic: no upcasts\n\nSummary:\nI was looking at callers of `GlobalResolution.type_less_or_equal_either_way`\nbecause it had some impact on an `typeInfo.ml` change I wanted to make, and\nwas a little surprised to see that refinement appears to be checking for\nless-or-equal in *either* direction when refining.\n\nThis implies that we're willing to *upcast* a variable on an isinstance check,\nwhich seems pretty iffy to me, `isinstance` is supposed to narrow types but not\nwiden them\n\n(We might ask why someone would use isinstance if they didn't want\na cast... remember it has runtime behavior too, they might actually just need\nit for business logic, or to validate a type that is \"known\" statically but\nonly in a gradual way that can't be fully trusted). If the actually want a\ncast, that's what `cast` is for.)\n\nI figured I'd try this change and see what the result is. In the unit tests,\nthe impact is minimal... one of the refinement unit tests cases changes,\nwe don't have a single integration test that relies on this, and a couple\nof `pyre infer` behaviors change; I actually think the existing `pyre infer`\nbehaviors were pretty questionable so I'm happy with this change.\n\nReviewed By: grievejia\n\nDifferential Revision: D58375764\n\nfbshipit-source-id: 19dd24435f4dfaf774222f89624934a40232ea9e","shortMessageHtmlLink":"Simplify refinement logic: no upcasts"}},{"before":"23d33ef619b57e5e14e9b2161c710e8c46b50458","after":"2d5954f2b6e31d07dcccddf06eb699794d096d45","ref":"refs/heads/main","pushedAt":"2024-06-11T14:58:45.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Split test cases in typeCheckTest.ml\n\nSummary:\nThis module has been a semi-frequent test breakage point when tweaking\nhow Pyre does things, but a little harder to split cases on than most\nof the integration tests. I'm finally getting around to improving it\nnow.\n\nReviewed By: yangdanny97\n\nDifferential Revision: D58374891\n\nfbshipit-source-id: c5a745d7aee89347606b5e97cf74a67856744889","shortMessageHtmlLink":"Split test cases in typeCheckTest.ml"}},{"before":"338de5135a45bd7fb40ad64e17202f77a0ddf4bb","after":"23d33ef619b57e5e14e9b2161c710e8c46b50458","ref":"refs/heads/main","pushedAt":"2024-06-11T14:54:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Better chunk size for the call graph and fixpoint\n\nSummary: After running many experiments, it seems like we could benefit from changing the preferred chunk size for the map-reduce operation of the call graph and taint fixpoint.\n\nReviewed By: alexkassil\n\nDifferential Revision: D58371629\n\nfbshipit-source-id: cf4d41c1fe2691abf9749de7c4502b7f4b96ff17","shortMessageHtmlLink":"Better chunk size for the call graph and fixpoint"}},{"before":"34d9157b77d40565dca09348e947eb7916beea8b","after":"82b9f7bb326fa90b58bfad2090f8bb3471d36380","ref":"refs/heads/gh-pages","pushedAt":"2024-06-11T09:19:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@338de5135a45bd7fb40ad64e17202f77a0ddf4bb πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 338de51 πŸš€"}},{"before":"7bda3517d7da8d3f78002e50d5fd5c474c88cb9a","after":"338de5135a45bd7fb40ad64e17202f77a0ddf4bb","ref":"refs/heads/main","pushedAt":"2024-06-11T09:17:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Use multiprocessing to speed up model generation [3/n multiprocessing]\n\nSummary:\n# Context\nWe want to speed up the python model generation step in Pysa.\nWe can see that the CPU usage is pretty low during model generation.\n\n# Solution\nWe should use python multiprocessing to speed up the model generation.\n\n# This diff\nNow that `AnnotatedFunctionGenerator` is serializable, we can use `multiprocessing` in its `compute_models`, to walk over all python files faster.\n\nReviewed By: tianhan0\n\nDifferential Revision: D58291355\n\nfbshipit-source-id: 2e602820593a60f98c1d8d48c2a8551897fe40ff","shortMessageHtmlLink":"Use multiprocessing to speed up model generation [3/n multiprocessing]"}},{"before":"ebc638b858a9f2a35696530d303b8b4644f04020","after":"34d9157b77d40565dca09348e947eb7916beea8b","ref":"refs/heads/gh-pages","pushedAt":"2024-06-11T05:26:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@7bda3517d7da8d3f78002e50d5fd5c474c88cb9a πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 7bda351 πŸš€"}},{"before":"58f8e1cd75b7f27b791f2bce63b714b220dc2415","after":"7bda3517d7da8d3f78002e50d5fd5c474c88cb9a","ref":"refs/heads/main","pushedAt":"2024-06-11T05:24:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Move preprocess_alias_value to type.ml\n\nSummary:\nContext:\nWe want to handle type variables in type.ml instead of typeAliasEnvironement.ml in preparation to support PEP695. This is because we will no longer be able to detect type valiables via type aliasing due to the syntax change. As a result, we will incrementally move the code which handles type variables away from typeAliasEnvironement and eventually, we want to change the way we hangle type variables entirely.\n\nChanges:\npreprocess_alias_value needs to be in type.ml as part of this refactor, so we move it.\n\nReviewed By: stroxler\n\nDifferential Revision: D58267126\n\nfbshipit-source-id: 20335f9655b1f3faf7c9ecb62e0e23a499d94518","shortMessageHtmlLink":"Move preprocess_alias_value to type.ml"}},{"before":"ccf788ddbf02dc6b91d244ab94e7ea68b992bf01","after":"ebc638b858a9f2a35696530d303b8b4644f04020","ref":"refs/heads/gh-pages","pushedAt":"2024-06-10T23:53:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@58f8e1cd75b7f27b791f2bce63b714b220dc2415 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 58f8e1c πŸš€"}},{"before":"418dce7773beb90c2a5dae171b3d34fda4f26f0b","after":"58f8e1cd75b7f27b791f2bce63b714b220dc2415","ref":"refs/heads/main","pushedAt":"2024-06-10T23:51:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove weird special case in TypeAliasEnvironment\n\nSummary:\nThis code was added in D13858398, somewhat mysteriously. I don't what the\nspecial form `typing.Type[mypy_extensions.TypedDict[...]]` is supposed to\nsignify here.\n\nLet's try to remove it and see what happens in CI...\n\nReviewed By: stroxler\n\nDifferential Revision: D58311064\n\nfbshipit-source-id: 0905e195de5c901585274f0c4c468b0169f8eceb","shortMessageHtmlLink":"Remove weird special case in TypeAliasEnvironment"}},{"before":"4f95b17b7549856f72a323e0c04001746987a4c8","after":"ccf788ddbf02dc6b91d244ab94e7ea68b992bf01","ref":"refs/heads/gh-pages","pushedAt":"2024-06-10T18:19:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@418dce7773beb90c2a5dae171b3d34fda4f26f0b πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 418dce7 πŸš€"}},{"before":"2e32ab212e8e42324e6f9f763d2b6276a83284eb","after":"418dce7773beb90c2a5dae171b3d34fda4f26f0b","ref":"refs/heads/main","pushedAt":"2024-06-10T18:17:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove unused issue handle set\n\nSummary: As titled.\n\nReviewed By: tianhan0\n\nDifferential Revision: D58361679\n\nfbshipit-source-id: f88f3df420c5932b34aea2ccf3f32c5eec8e89dd","shortMessageHtmlLink":"Remove unused issue handle set"}},{"before":"e74b06bac5121d9772f44be90778d19c2e179e0d","after":"2e32ab212e8e42324e6f9f763d2b6276a83284eb","ref":"refs/heads/main","pushedAt":"2024-06-10T16:22:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Implement pretty print for `JsonAst.Json`\n\nSummary:\nThe ppx derived pretty print functions simply print out the OCaml internal\nstructure, which is pretty hard to read. This diff implements the proper pretty\nprint.\n\nThis could for example help with better error message for wrong taint\nconfigurations.\n\nReviewed By: arthaud\n\nDifferential Revision: D58253724\n\nfbshipit-source-id: 8cde4898b1c9602c0f2d01bdffdf7e34d61bac92","shortMessageHtmlLink":"Implement pretty print for JsonAst.Json"}},{"before":"ea9d1447b14dffe2bd15078fae8b2c6387551970","after":"e74b06bac5121d9772f44be90778d19c2e179e0d","ref":"refs/heads/main","pushedAt":"2024-06-10T16:17:02.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Always add a leaf to taint\n\nSummary: There are still a few places where we create taint without leaves, for instance for conditional sinks and for another case of string literal sinks. Let's fix those.\n\nReviewed By: tianhan0\n\nDifferential Revision: D58359262\n\nfbshipit-source-id: 5be2903e1dfed9e49c2950a8394891d62ee12d4f","shortMessageHtmlLink":"Always add a leaf to taint"}},{"before":"108811bea634c3b63c93041ffcf6bcd057066453","after":"ea9d1447b14dffe2bd15078fae8b2c6387551970","ref":"refs/heads/main","pushedAt":"2024-06-10T15:33:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Make AnnotatedFunctionGenerator serializable [1/n multiprocessing]\n\nSummary:\n# Context\nWe want to speed up the python model generation step in Pysa.\nWe can see that the CPU usage is pretty low during model generation.\n\n# Solution\nWe should use python multiprocessing to speed up the model generation.\n\n# This diff\nFirst, we need to make `AnnotatedFunctionGenerator` serializable so it can be used with the multiprocessing module. For that, we should provide exclude patterns as strings instead of compiled regular expressions.\n\nReviewed By: tianhan0\n\nDifferential Revision: D58290304\n\nfbshipit-source-id: bc0d11ed5ae3db1d3c569da53ffd8631bd7d5d45","shortMessageHtmlLink":"Make AnnotatedFunctionGenerator serializable [1/n multiprocessing]"}},{"before":null,"after":"85bc73d01763372e3aad632472e67f07da805ecf","ref":"refs/heads/dependabot/github_actions/github-actions-06e3e31961","pushedAt":"2024-06-10T03:56:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump the github-actions group across 1 directory with 4 updates\n\nBumps the github-actions group with 4 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action), [github/codeql-action](https://github.com/github/codeql-action) and [avsm/setup-ocaml](https://github.com/avsm/setup-ocaml).\n\n\nUpdates `actions/checkout` from 4.1.4 to 4.1.6\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/0ad4b8fadaa221de15dcec353f45205ec38ea70b...a5ac7e51b41094c92402da3b24376905380afc29)\n\nUpdates `JamesIves/github-pages-deploy-action` from 4.6.0 to 4.6.1\n- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)\n- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/ec9c88baef04b842ca6f0a132fd61c762aa6c1b0...5c6e9e9f3672ce8fd37b9856193d2a537941e66c)\n\nUpdates `github/codeql-action` from 3.25.5 to 3.25.8\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/b7cec7526559c32f1616476ff32d17ba4c59b2d6...2e230e8fe0ad3a14a340ad0815ddb96d599d2aff)\n\nUpdates `avsm/setup-ocaml` from 2.2.9 to 2.2.10\n- [Release notes](https://github.com/avsm/setup-ocaml/releases)\n- [Changelog](https://github.com/ocaml/setup-ocaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/avsm/setup-ocaml/compare/8ea37830f3b2c9f54178d255808ae377b5758062...8cc6339f55862749298d198ef84788b8d6acdacc)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: github-actions\n- dependency-name: JamesIves/github-pages-deploy-action\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: github-actions\n- dependency-name: github/codeql-action\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: github-actions\n- dependency-name: avsm/setup-ocaml\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump the github-actions group across 1 directory with 4 updates"}},{"before":"7d681e5dc900dfcddd3d398601ae0be12a1d95eb","after":null,"ref":"refs/heads/dependabot/github_actions/github-actions-3903af0837","pushedAt":"2024-06-10T03:55:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"1b0a5336dcae64c977524eb4927455f0669d8d7a","after":"108811bea634c3b63c93041ffcf6bcd057066453","ref":"refs/heads/main","pushedAt":"2024-06-09T21:05:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Clean up from DataclassOptions.ml refactor\n\nSummary:\nWhen we created `dataclassOptions.ml` in order to make\nthe options visible to type check (which we did to address\nconformance tests that require throwing type errors on certain\nkinds of invalid dataclass definitions), we move the queries\nover.\n\nBut then we decoupled the actual options extraction from the queries,\nso that we could move them back to attributeResolution. This commit\nmakes that move. In the process I also eliminate the nested\n`ExtractDataclassOptions` namespace, which isn't really needed once\nwe get `Queries` out of the way, and avoid `open DataclassOptions` in\ndownstream code (when possible I try to avoid global `open`, it makes\nOCaml name resolution a little less obvious, especially if there are\na lot of big modules defining lots of symbols where collisions are\nlikely)\n\nReviewed By: migeed-z\n\nDifferential Revision: D58244121\n\nfbshipit-source-id: 6c33f2c53165803b0686cb5604720d2214daa57f","shortMessageHtmlLink":"Clean up from DataclassOptions.ml refactor"}},{"before":"0e274690293a748595297a8faa957a9a4a5819d8","after":"4f95b17b7549856f72a323e0c04001746987a4c8","ref":"refs/heads/gh-pages","pushedAt":"2024-06-08T08:39:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@1b0a5336dcae64c977524eb4927455f0669d8d7a πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 1b0a533 πŸš€"}},{"before":"8ad8d230de411ac1e84b7598ee1f85d09ba9492a","after":"1b0a5336dcae64c977524eb4927455f0669d8d7a","ref":"refs/heads/main","pushedAt":"2024-06-08T08:37:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Set the minimum chunk size to 1\n\nSummary:\n# Problem\nWe have noticed very low CPU usage on big machines.\nAfter investigation, it seems due to scheduler policies having a `minimum_chunk_size` of 100.\nWhen the number of task is low, say 1000, and number of workers is high (say 80), using the preferred chunk size would lead to a number of tasks per chunk below that threshold.\nThis ultimately leads the scheduler policy to pick a chunk count of 1, which disables parallelism entirely!\n\n# Solution\nLet's just set the minimum_chink_size to 1 for most map reduce operations.\n\nReviewed By: samwgoldman\n\nDifferential Revision: D58282862\n\nfbshipit-source-id: 1ea85bdf80b177bc77040fbfd479f4b3e82c0f3c","shortMessageHtmlLink":"Set the minimum chunk size to 1"}},{"before":"f2e04de174840e6d61e37e8ea4aa2375add8bf69","after":"0e274690293a748595297a8faa957a9a4a5819d8","ref":"refs/heads/gh-pages","pushedAt":"2024-06-08T01:27:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@8ad8d230de411ac1e84b7598ee1f85d09ba9492a πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 8ad8d23 πŸš€"}},{"before":"0a0e01e22def7558c3e253dcf6d087caee84ae75","after":"8ad8d230de411ac1e84b7598ee1f85d09ba9492a","ref":"refs/heads/main","pushedAt":"2024-06-08T01:25:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Rename `Refinement` to `TypeInfo`\n\nSummary:\nThe name `refinement` suggests that this module is specifically\nabout type refinement, but that's not really the case - it's related,\nbut this module is actually where we store type context information.\n\nThe reason `Refinement` sort of made sense is that type refinement\nrequires putting the refined types *into* the type context, but that\ndoesn't make the type context \"about refinement\"; in reality, the\nlocal types (in the absense of refinement, just the normal types\ncoming from type inference!) are also stored here.\n\nAfter discussing with Jia, we think that the not-so-descriptive name\n`TypeInfo` is probably best for now; it's better to have a not very\ndescriptive name so that users look at the code and comments than\nto have a poorly chosen more-descriptive name that could be confusing.\n\n----\n\nNote that I also intend to move `Annotation.t`, which is also very poorly\nnamed (it isn't an annotation at all, it's a type plus some mutability info\nneeded for us to know how refinement should behave) into this module, which\nwill get rid of one of the worst-named types in Pyre and will potentially\nfree up the `Annotation.t` name for use if we ever want to model annotations\nusing an IR that is distinct from the \"fully resolved\" types in `Type.t`.\n\nThat will be a little trickier becuase I have to break a dependency cycle\nwhere TypeInfo depends on GlobalResolution depends on Annotation, but I'm\nhoping to tackle it in the next week or two.\n\nReviewed By: samwgoldman\n\nDifferential Revision: D58306709\n\nfbshipit-source-id: f5aba626c56344141dd0fab9d3673624c2875348","shortMessageHtmlLink":"Rename Refinement to TypeInfo"}},{"before":"7c25b94445591d304bc8b2a8b8853d09f7b18545","after":"f2e04de174840e6d61e37e8ea4aa2375add8bf69","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T21:46:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@0a0e01e22def7558c3e253dcf6d087caee84ae75 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 0a0e01e πŸš€"}},{"before":"2e8fccb75f97dfeffccb5c2662779c6878fb59c8","after":"0a0e01e22def7558c3e253dcf6d087caee84ae75","ref":"refs/heads/main","pushedAt":"2024-06-07T21:44:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"rename forward_assign to forward_value_assignment and move it outside of forward_assignment\n\nSummary:\nChanges:\n\nThis diff moves the forward_assign helper function outside of forward_assignment to allow for reuse, and updates some variable/parameter names to be clearer.\n- explicit -> has_explicit_annotation\n- guide -> guide_annotation_type\n- original_annotation -> unwrapped_annotation_type (we get this by resolving the annotation expression to a type, and unwrap Final/Initvar/ClassVar)\n\nsemantically this should be a no-op\n\nMotivation:\n\nThe main reason I wanted to lift this particular piece of code out is that it contains the bulk of the logic for assignments, but crucially it also runs after we resolve the type for the RHS of the assignment.\n\nThis means that we can do whatever special typechecking/processing we need for the RHS of augmented assignments before calling this function.\n\nReviewed By: samwgoldman\n\nDifferential Revision: D58291288\n\nfbshipit-source-id: 0432f6d13a501e466c058de8933318b1e997ef75","shortMessageHtmlLink":"rename forward_assign to forward_value_assignment and move it outside…"}},{"before":"b867a1b46853b7b2434bc917f71e1781ca12bfb8","after":"7c25b94445591d304bc8b2a8b8853d09f7b18545","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T20:55:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ facebook/pyre-check@2e8fccb75f97dfeffccb5c2662779c6878fb59c8 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 2e8fccb πŸš€"}},{"before":"57e04e095d218f27dce6045f65d175ae90e7c62f","after":"2e8fccb75f97dfeffccb5c2662779c6878fb59c8","ref":"refs/heads/main","pushedAt":"2024-06-07T20:54:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"delete empty contributing docs\n\nSummary:\nboth contributing.md and fb/contributing.md are blank, so I removed them.\n\nthe sidebar still has an entry for Contributing, but it links to a different place now.\n\nin the external site, it links to CONTRIBUTING.md in the repo: https://github.com/facebook/pyre-check/blob/main/CONTRIBUTING.md\n\nin the internal site, it links to the \"Development - Getting Started\" doc\n\nReviewed By: samwgoldman\n\nDifferential Revision: D58299990\n\nfbshipit-source-id: f06137bb3bb290c2a672bd761a03d5a25511b375","shortMessageHtmlLink":"delete empty contributing docs"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYpQ75gA","startCursor":null,"endCursor":null}},"title":"Activity Β· facebook/pyre-check"}