{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":319383495,"defaultBranch":"main","name":"starlark-rust","ownerLogin":"facebook","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-07T16:47:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/69631?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1707504096.0","currentOid":""},"activityList":{"items":[{"before":"a28a4399772ca7dc77ea80541f3cb6dd7d2998a5","after":"4a018e817c845d3dfc177e4e2e915bc8940050f8","ref":"refs/heads/main","pushedAt":"2024-05-31T14:59:14.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":"Opt [x] + [y]\n\nSummary:\n```\n[x] + [y]\n```\n\nis semantically identical to\n\n```\n[x, y]\n```\n\nImplement such optimization.\n\nWe can do similar optimizations for list comprehensions, e.g. for\n\n```\n[x] + [f(y) for y in z]\n```\n\nbut that is harder.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D57990756\n\nfbshipit-source-id: eb1ad1e28b4144c4078a60098e43b39db33d88a2","shortMessageHtmlLink":"Opt [x] + [y]"}},{"before":"5d4723fd17f48e3c392348e534e866895d0baafe","after":"a28a4399772ca7dc77ea80541f3cb6dd7d2998a5","ref":"refs/heads/main","pushedAt":"2024-05-30T11:01:48.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":"impl UnpackValue for FrozenValueTyped\n\nSummary: Needed later.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D57931755\n\nfbshipit-source-id: d36773ac290f7070f587e7a9131b21bc9ea7b23a","shortMessageHtmlLink":"impl UnpackValue for FrozenValueTyped"}},{"before":"638f3034230580eb556ab0515c8da88394e4dff6","after":"5d4723fd17f48e3c392348e534e866895d0baafe","ref":"refs/heads/main","pushedAt":"2024-05-30T10:18:10.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":"impl Clone for DictRef\n\nSummary: Needed later, good as is.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D57930912\n\nfbshipit-source-id: 96dafda69c7344f51767c9a3b4da19b44046c49a","shortMessageHtmlLink":"impl Clone for DictRef"}},{"before":"5396ff45068ba235b1c67fcebd2c730091adc959","after":"638f3034230580eb556ab0515c8da88394e4dff6","ref":"refs/heads/main","pushedAt":"2024-05-28T13:38: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":"Chunk allocator\n\nSummary:\n# Original submission\n\nOriginal submission was postponed due to regression in D43227041. The issue is addressed in comments in D43405445.\n\n# Post with discussion\n\n[Post](https://www.internalfb.com/diff/D40738710)\n\n# Original diff\n\nOwn bump allocator for starlark.\n\nCompared to `bumpalo`, it can return unused parts of allocations to the thread-local pool, so they can be reused for the next heap.\n\n## How to read this diff\n\n* `ChunkData` is an allocation: `2^N` allocation size, and in it: `{ reference counter, length, inline data }`. `2^N` allocation is supposed to be jemalloc-friendly\n* `Chunk` is an equivalent of `ThinArc` but with 32 bit counter and length\n* `ChunkPart` is `{ Chunk, begin_offset, end_offset }`. Different `ChunkPart` instances share the same `Chunk` allocation\n* `ChunkChain` is a linked list of `ChunkPart` objects\n * where the pointer to the next item in the list is stored in the beginning of owned `ChunkPart`, and the rest of `ChunkData` is the data for the allocation\n* finally `ChunkAllocator` contains `ChunkData` with the allocations plus two pointers: `current`, `end` for fast bump allocations\n * `ChunkAllocator` is equivalent to `bumpalo::Bump`\n\n## Bullet points\n\n* enabled only for frozen heap for now to avoid tuning too many parameters at once for variety of scenarios\n* ideally should be enabled for non-frozen heaps too\n* more or less replicates bumpalo chunk allocation strategy: 512 bytes, 1024, 2048...\n* this may need tuning (e.g. start with 1024), but for now use simple version to avoid debugging too many performance issues at once\n* even without chunk reuse, has smaller allocation overhead than bumpalo\n * for example, bumpalo includes [32 bytes padding in each chunk assuming malloc overhead](https://github.com/fitzgen/bumpalo/blob/50ba1bdd406665bd2e6ba430e167a38ed1b13964/src/lib.rs#L443), but if jemalloc is used, this space is wasted\n * or everywhere this allocator assumes we don't need allocations greater than `u32::MAX`\n* significantly faster, presumably because we only support fixed usize alignment unlike bumpalo which supports allocation with arbitrary alignment, so `bumpalo` requires nontrivial calculations for each allocation. 0.5% for the whole buck2 build only for frozen heap allocations is a lot.\n\n## Potential problems\n\n* Thread-local cache memory is not released unless refcountes goes down to one. Consider this scenario.\n * One frozen heap needs `1G - 100` memory\n * Allocator allocates `1G`\n * When heap is frozen `1G - 100` chunk part goes to the thread cache\n * Then another heap allocates `50` bytes of memory, which would be taken from that `1G` shared allocation\n * Then first heap releases memory, and `1G - 100` chunk part goes to thread cache, and stays there until someone else requests more memory\n * So basically compared to bumpalo in the worst case we can waste ~ `4 * number of threads * size of largest heap` memory\n* Fragmentation when using cache may lead to slower allocations. Consider this scenario:\n * One heap freezes and releases 32 bytes to the cache\n * Then another heap freezes and releases 32 bytes to the cache\n * Then third heap needs 64 bytes for four allocations 16 + 16 + 16 + 16. These will be returned as two chunks: 32 + 32 instead of single allocation of >= 32. Chunk management is slower than pointer bump.\n * Then third heap releases all the memory, two chunks 32 + 32 go to the cache\n * Then fourth heap needs 64 bytes for four allocations 16 + 16 + 16 + 16, it goes again...\n\nReviewed By: JakobDegen\n\nDifferential Revision: D40738710\n\nfbshipit-source-id: eaf0031d31b9b8a4da88a25babec3650afede193","shortMessageHtmlLink":"Chunk allocator"}},{"before":"990a16be795cd510ce76785cb372e949eda2197d","after":"5396ff45068ba235b1c67fcebd2c730091adc959","ref":"refs/heads/main","pushedAt":"2024-05-16T15:59: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":"Update docs for `getattr()` behavior with a default value\n\nSummary: `getattr()` behaves differently depending on the presence of a default value, clarify behavior in the docs.\n\nReviewed By: ndmitchell, IanChilds\n\nDifferential Revision: D57437796\n\nfbshipit-source-id: d06de75f6ffa9f2672f9f2d1d8c86d37c2cf8967","shortMessageHtmlLink":"Update docs for getattr() behavior with a default value"}},{"before":"94b18b3dd41505de826572deab190a98927c05e8","after":"990a16be795cd510ce76785cb372e949eda2197d","ref":"refs/heads/main","pushedAt":"2024-05-16T09:10:22.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":"Add string interner\n\nSummary:\nLink group analysis calls `label.package` a lot of times for matchers check. From user-land perspective `label.package` should be simple variable accessor and should not allocate additional memory.\nUnfortunately that was no true and we used a lot of resources for link group match algorithm.\n\nWith that change we're using ~30% less RAM\nTotal analysis RAM consumption reduction relatively to starting point back in the beginning of stack is 92%: 194GB -> 16GB\n\nReviewed By: stepancheg\n\nDifferential Revision: D56353520\n\nfbshipit-source-id: 9c1a910bf13596a8ce5e9da7c58fb92d38b1fd36","shortMessageHtmlLink":"Add string interner"}},{"before":"0625caec5cfbe471629cb18979e95a6250b7e565","after":"94b18b3dd41505de826572deab190a98927c05e8","ref":"refs/heads/main","pushedAt":"2024-05-16T06:13:41.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":"gazebo: Add `variant_name_lowercase`\n\nSummary:\nAs it says in the title, need it next diff.\n\nYou can't really implement this on top of gazebo, at least not if you're hoping to get out a `&'static str`\n\nReviewed By: stepancheg\n\nDifferential Revision: D57251553\n\nfbshipit-source-id: 63b2e4786aed7c06846b438fe7c3f1ec2a9d7d49","shortMessageHtmlLink":"gazebo: Add variant_name_lowercase"}},{"before":"ecdae5a2a3cfda80b3b6adbc59c81b00a1d6aa9b","after":"0625caec5cfbe471629cb18979e95a6250b7e565","ref":"refs/heads/main","pushedAt":"2024-05-13T13:53:18.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":"update platform010 & platform010-aarch64 symlinks\n\nSummary:\nupdating from 1.77.1 to 1.78.0\n\n#buildmore\n\nReviewed By: diliop\n\nDifferential Revision: D57048774\n\nfbshipit-source-id: 3d2a2810ad8cb11b28ac00b8088e9be21ebc59a7","shortMessageHtmlLink":"update platform010 & platform010-aarch64 symlinks"}},{"before":"471d4a4fb852a355691f0df5a89323064db1b5bb","after":"ecdae5a2a3cfda80b3b6adbc59c81b00a1d6aa9b","ref":"refs/heads/main","pushedAt":"2024-05-10T20:45:14.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":"more dead-code annotations\n\nSummary: 1.78.0 throws up this dead code. haven't investigated why but these occurrences only get flagged by the buck2-unsorted-mac test (e.g. https://www.internalfb.com/sandcastle/workflow/657525545598944430)\n\nReviewed By: ndmitchell, dtolnay\n\nDifferential Revision: D57212061\n\nfbshipit-source-id: 87f5654150e935e424d4479c6bf35516d1490b03","shortMessageHtmlLink":"more dead-code annotations"}},{"before":"b081c5768ce6b228efa6656fdca0bab7022b7f82","after":"471d4a4fb852a355691f0df5a89323064db1b5bb","ref":"refs/heads/main","pushedAt":"2024-05-10T02:05:42.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":"remove unused-imports\n\nSummary: remove unused-imports thrown up by 1.78.0\n\nReviewed By: JakobDegen\n\nDifferential Revision: D57179423\n\nfbshipit-source-id: 37daff5fc689aa80cd1244b2116d7c7c46d5e35f","shortMessageHtmlLink":"remove unused-imports"}},{"before":"71bb77a961c7679b00de40410bb7875035fe61d8","after":"b081c5768ce6b228efa6656fdca0bab7022b7f82","ref":"refs/heads/main","pushedAt":"2024-05-09T15:36:47.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":"Add a test that non-optional after optional works\n\nSummary: In D57151706 we check it passes. Now check it works at evaluation time too.\n\nReviewed By: stepancheg\n\nDifferential Revision: D57160402\n\nfbshipit-source-id: 300ad53f423f891bd270cf20acf492eb0098110a","shortMessageHtmlLink":"Add a test that non-optional after optional works"}},{"before":"0724ca33c4e02036409320139f40a551b5d31a2f","after":"71bb77a961c7679b00de40410bb7875035fe61d8","ref":"refs/heads/main","pushedAt":"2024-05-09T14:16:37.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":"Allow def(*args, x=1, y)\n\nSummary: Previously we banned this by accident, but it's legal in Python and the Java Starlark. Added a bunch of related tests which were useful for probing where the boundaries of this bug were, and all seem useful to keep.\n\nReviewed By: stepancheg\n\nDifferential Revision: D57151706\n\nfbshipit-source-id: 2cdf61d3550c21c8f3c40a677385525d4eb174fd","shortMessageHtmlLink":"Allow def(*args, x=1, y)"}},{"before":"f12b9ed266bdd49e3c756064e51a27f8e146545e","after":"0724ca33c4e02036409320139f40a551b5d31a2f","ref":"refs/heads/main","pushedAt":"2024-05-08T22: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":"Update `sorted_vector_map`\n\nSummary: The most recent fbsource version was just released onto crates.io, so builds are failing until we update\n\nReviewed By: iguridi\n\nDifferential Revision: D57091891\n\nfbshipit-source-id: b7a44252e42ad72f81378e50cd404818b454fcbf","shortMessageHtmlLink":"Update sorted_vector_map"}},{"before":"130394abb043100a84cbec7b23f678f86d27ce09","after":"f12b9ed266bdd49e3c756064e51a27f8e146545e","ref":"refs/heads/main","pushedAt":"2024-05-08T19:46:12.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":"allow suppressing lint rule from command line\n\nSummary:\nThis diff adds a `--suppression` flag to `starlark_bin` `--check` mode so we can suppress some lint rules with specified file pattern.\n\n```\n --suppression Specify lint rules to suppress. You may specify an optional glob pattern to suppress rules for files matching the pattern, in the format of `:[,]*`.\n```\n\nReviewed By: ndmitchell\n\nDifferential Revision: D57078917\n\nfbshipit-source-id: aedbbcfd278b94833635bbf3de1030c70cb0c7ce","shortMessageHtmlLink":"allow suppressing lint rule from command line"}},{"before":"14ef8b42f2e15abc692890833e5dec4158ccbdea","after":"130394abb043100a84cbec7b23f678f86d27ce09","ref":"refs/heads/main","pushedAt":"2024-05-03T16:35:00.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":"correct comment\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56934747\n\nfbshipit-source-id: 3332a9a58467950077b2f425fba76b94f35f0271","shortMessageHtmlLink":"correct comment"}},{"before":"a49528469edd298e97bdac72a828146d50bd635e","after":"14ef8b42f2e15abc692890833e5dec4158ccbdea","ref":"refs/heads/main","pushedAt":"2024-04-20T23:30:53.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":"Refactor AValue\n\nSummary:\n`AValue` contains operations not covered by `StarlarkValue` (GC and allocation payload).\n\nHistorical context.\n\nVtable in starlark was `trait AValue`: real trait vtable was stored in object header. `AValue` was implemented for `AValueImpl`.\n\nThis is long gone, now we have `AValueVTable` struct, which stores function pointers directly.\n\nThis diff changes:\n- `trait AValue` is now implemented for marker types like `AValueSimple` instead of `AValueImpl`\n- `AValueImpl` now just a pair of `impl AValue, T` instead of `impl AValueMode, T`\n\nThis makes code cleaner. Previously we passed `impl AValue` around, and assumed it is only implemented for `AValueImpl`, so we can safely transmute it to/from `AValue::StarlarkValue`. Now we explicitly pass `AValueImpl`.\n\nThis legacy code cleanup, and should also make static allocation simpler.\n\nPreviously code was written like this:\n\n```\npub(crate) static VALUE_NONE: AValueRepr> =\n alloc_static(Basic, NoneType);\n```\n\nmeaning: find `AValue` implementation for a pair `Basic, NoneType`.\n\nand now it is this:\n\n```\npub(crate) static VALUE_NONE: AValueRepr>> =\n alloc_static(NoneType);\n```\n\nmeaning: `AValue` implementation is `AValueBasic`.\n\nThis diff also replaces a lot of `&mut` pointers with raw pointers, because there's no really any safety around memory management, proper pointer only mask problems if any, and dealing with typechecker is hard.\n\nReviewed By: ndmitchell\n\nDifferential Revision: D56382969\n\nfbshipit-source-id: d02067e3da43034976d60fd271eeb52900f200dc","shortMessageHtmlLink":"Refactor AValue"}},{"before":"d1cbf9bb1df64db4da29c6f8bf422c1b85031ee0","after":"a49528469edd298e97bdac72a828146d50bd635e","ref":"refs/heads/main","pushedAt":"2024-04-20T03:46:13.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":"&mut -> *mut\n\nSummary: I suspect it is illegal to create `&mut T` for uninitialized `T`.\n\nReviewed By: ndmitchell\n\nDifferential Revision: D56380598\n\nfbshipit-source-id: 4502c2aa203ca43eb289e3adf405657aa6873d28","shortMessageHtmlLink":"&mut -> *mut"}},{"before":"293532ec1a4d1da232b4fe6b7f62ef174b7106fa","after":"d1cbf9bb1df64db4da29c6f8bf422c1b85031ee0","ref":"refs/heads/main","pushedAt":"2024-04-20T00:59: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":"Unimpl Serialize for AValueImpl and BlackHole\n\nSummary: Some old dead code.\n\nReviewed By: ndmitchell\n\nDifferential Revision: D56378816\n\nfbshipit-source-id: 46b9c9eae1aff0642e7401a94a05f3c89ac1b593","shortMessageHtmlLink":"Unimpl Serialize for AValueImpl and BlackHole"}},{"before":"3337cc7452d7f139d0c69d510e6c5c03dfe56bcd","after":"293532ec1a4d1da232b4fe6b7f62ef174b7106fa","ref":"refs/heads/main","pushedAt":"2024-04-16T22:28:42.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":"impl for ManuallyDrop\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56208259\n\nfbshipit-source-id: 701f9d9b0b81f8aeddc2841b48516a643e095ede","shortMessageHtmlLink":"impl for ManuallyDrop"}},{"before":"83245b3cf30e3de9363230b5677eff04a6001b95","after":"3337cc7452d7f139d0c69d510e6c5c03dfe56bcd","ref":"refs/heads/main","pushedAt":"2024-04-15T05:32:26.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 #[derive(Dupe)] generated code\n\nSummary:\nPut `assert_dupe` into crate rather than generating it for each type where `Dupe` is derived.\n\nThis should make compilation tiny bit faster.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56122611\n\nfbshipit-source-id: ea97858d38d3af75114ca570e6cbad41d4c80467","shortMessageHtmlLink":"Simplify #[derive(Dupe)] generated code"}},{"before":"e2dd0d6f7f557236cb88bffbc32b459c823dd448","after":"83245b3cf30e3de9363230b5677eff04a6001b95","ref":"refs/heads/main","pushedAt":"2024-04-15T05:20:00.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 Coerce for newtypes\n\nSummary:\n`#[derive(Coerce)]` implements coerce:\n- between `Foo` and `Foo` if `A` coerces to `B`\n- between `Foo(A)` and `A`\n\nThis is confusing.\n\nRemove the latter.\n\nGenerally I think we should probably remove `Coerce`: while I like the idea, it is hard to use from both Rust typechecking and safety point of views.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56123012\n\nfbshipit-source-id: 2109ae1bb1d88bcc8d36e9918706f800d0ea1924","shortMessageHtmlLink":"Remove Coerce for newtypes"}},{"before":"e800fccf40d195752f53be4877fc5c5fd27d9de2","after":"e2dd0d6f7f557236cb88bffbc32b459c823dd448","ref":"refs/heads/main","pushedAt":"2024-04-15T05:13: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":"Refactor derive\n\nSummary:\nMove some common code to \"util\".\n\nNeed to do more derives, back up these changes.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56123520\n\nfbshipit-source-id: 37d5ea992003d1f1384c331ef98801bde5a1ebba","shortMessageHtmlLink":"Refactor derive"}},{"before":"3bd2fb48897923764c1c3ee132bfe438b234ed17","after":"e800fccf40d195752f53be4877fc5c5fd27d9de2","ref":"refs/heads/main","pushedAt":"2024-04-15T04:14:12.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":"impl for [A; N]\n\nSummary:\nSince D56121358, `Dupe` is for all types that are cloned at constant time. Arrays are such types.\n\nThis is mostly for consistency.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56122515\n\nfbshipit-source-id: 99480fdfd2c2fb564de5ac0c9e0f3235073d221f","shortMessageHtmlLink":"impl for [A; N]"}},{"before":"ca997d0bae743644806ee61ce7bbb3530f54ae1e","after":"3bd2fb48897923764c1c3ee132bfe438b234ed17","ref":"refs/heads/main","pushedAt":"2024-04-15T01:23: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":"Replace Coerce with RefCast in ListRef and TupleRef\n\nSummary: Following diff D56123012 removes `#[derive(Coerce)]` for inner.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56123010\n\nfbshipit-source-id: fae8bfb56e69dee1cfca3c9340cc6ebb7861cf0b","shortMessageHtmlLink":"Replace Coerce with RefCast in ListRef and TupleRef"}},{"before":"95aa3a178f155cb9c39a2f9a1e6981e17e177b5e","after":"ca997d0bae743644806ee61ce7bbb3530f54ae1e","ref":"refs/heads/main","pushedAt":"2024-04-14T23:19:04.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":"Impl Dupe for all the tuples\n\nSummary:\nArguments for implementing for all the tuples are:\n- we don't have this restriction for structs, and tuples are just structs, so just make it consistent\n- \"expensive\" is not well defined: some things can be inferred as `Dupe` but expensive (like `Arc`), while others are large and cheap (`((), (), (), ())`). Let's use clear definition what `Dupe` is: that is what is computed at constant time. Tuples satisfy this definition.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56121358\n\nfbshipit-source-id: 23bebcf357ab1719c928d3161377522a2b53047d","shortMessageHtmlLink":"Impl Dupe for all the tuples"}},{"before":"a2862de9c91f41190d769151ce2abfae0024a828","after":"95aa3a178f155cb9c39a2f9a1e6981e17e177b5e","ref":"refs/heads/main","pushedAt":"2024-04-13T06:17:32.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":"StarlarkCallable::erase\n\nSummary: Used in the following diff D56092787.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56092788\n\nfbshipit-source-id: 9ee6b1e5abda5e3f46c9297848c5f2a6373269b8","shortMessageHtmlLink":"StarlarkCallable::erase"}},{"before":"c544fd3ffb75e6eef74ffee7ad19fcf7c8cb1134","after":"a2862de9c91f41190d769151ce2abfae0024a828","ref":"refs/heads/main","pushedAt":"2024-04-13T00:52:21.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":"Fix lint for files with windows newlines\n\nSummary: This should fix [github CI on Windows](https://github.com/facebook/buck2/actions/runs/8668153795/job/23772633220?pr=620).\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56087106\n\nfbshipit-source-id: fe7530ea963d71bd6d12f05cbb00e97774d55ba4","shortMessageHtmlLink":"Fix lint for files with windows newlines"}},{"before":"3219fe29346fcf22075d0b3c1a862c332d72aef7","after":"c544fd3ffb75e6eef74ffee7ad19fcf7c8cb1134","ref":"refs/heads/main","pushedAt":"2024-04-12T19:11: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":"StarlarkAnyComplex\n\nSummary:\nLike `StarlarkAny`, but requires `Trace` and `Freeze`, and can store `'v` data.\n\nI think it was possible to incorporate this logic into `StarlarkAny`, but it's typechecking is hard, easier to have a separate struct.\n\nFollowing diff D56039935 uses it in buck2.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56038102\n\nfbshipit-source-id: 6da9864aa2a79b76464b278d204430d78497d4df","shortMessageHtmlLink":"StarlarkAnyComplex"}},{"before":"c56ca917f7f29edb12360ddebc2138caa4468e41","after":"3219fe29346fcf22075d0b3c1a862c332d72aef7","ref":"refs/heads/main","pushedAt":"2024-04-12T17:39:36.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 alloc_any_display_from_debug\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56034001\n\nfbshipit-source-id: 3110ef97e57fd4c367ea057bfa31cb440d136604","shortMessageHtmlLink":"Remove alloc_any_display_from_debug"}},{"before":"9dd1883cf60ae52530aeea207ecb8f0a1423043e","after":"c56ca917f7f29edb12360ddebc2138caa4468e41","ref":"refs/heads/main","pushedAt":"2024-04-12T02:13:52.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":"Migrate from alloc_any_display_from_debug to alloc_any\n\nSummary: Preparation to remove `alloc_any_display_from_debug` in D56034001.\n\nReviewed By: JakobDegen\n\nDifferential Revision: D56034003\n\nfbshipit-source-id: 90a0691e4d8511ca5cce94b7fa5b01f2f57b258e","shortMessageHtmlLink":"Migrate from alloc_any_display_from_debug to alloc_any"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWSRRZAA","startCursor":null,"endCursor":null}},"title":"Activity ยท facebook/starlark-rust"}