{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":148821256,"defaultBranch":"master","name":"luau","ownerLogin":"luau-lang","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-09-14T17:29:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/104525888?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714768283.0","currentOid":""},"activityList":{"items":[{"before":"7edd58afede8950bde2042f9cfeed210242105ca","after":"8a64cb8b73996bd69c2734c607acd4b7d092358a","ref":"refs/heads/master","pushedAt":"2024-05-03T20:17:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andyfriesen","name":"Andy Friesen","path":"/andyfriesen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123493?s=80&v=4"},"commit":{"message":"Sync to upstream/release/624 (#1245)\n\n# What's changed?\r\n\r\n* Optimize table.maxn. This function is now 5-14x faster\r\n* Reserve Luau stack space for error message.\r\n\r\n## New Solver\r\n\r\n* Globals can be type-stated, but only if they are already in scope\r\n* Fix a stack overflow that could occur when normalizing certain kinds\r\nof recursive unions of intersections (of unions of intersections...)\r\n* Fix an assertion failure that would trigger when the __iter metamethod\r\nhas a bad signature\r\n\r\n## Native Codegen\r\n\r\n* Type propagation and temporary register type hints\r\n* Direct vector property access should only happen for names of right\r\nlength\r\n* BytecodeAnalysis will only predict that some of the vector value\r\nfields are numbers\r\n\r\n---\r\n\r\n## Internal Contributors\r\n\r\nCo-authored-by: Alexander McCord \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: Aviral Goel \r\nCo-authored-by: Vyacheslav Egorov ","shortMessageHtmlLink":"Sync to upstream/release/624 (#1245)"}},{"before":"88dd28910031d2a3edcd91ab0127de9cab910479","after":"1ad7b9cc5679f98add19be64623a27623a4cc34b","ref":"refs/heads/merge","pushedAt":"2024-05-03T20:01:20.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"andyfriesen","name":"Andy Friesen","path":"/andyfriesen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123493?s=80&v=4"},"commit":{"message":"Merge branch 'upstream' into merge","shortMessageHtmlLink":"Merge branch 'upstream' into merge"}},{"before":"50a2f8daa814beaf267958f276b753a0c431a154","after":"93468ca88da6779b3fc3d5e5b1767b6170a78bcf","ref":"refs/heads/upstream","pushedAt":"2024-05-03T20:01:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andyfriesen","name":"Andy Friesen","path":"/andyfriesen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123493?s=80&v=4"},"commit":{"message":"Sync to upstream/release/624","shortMessageHtmlLink":"Sync to upstream/release/624"}},{"before":"cdd0d053bbac3dbcb52e7e0a4fb26852e3ec40c4","after":null,"ref":"refs/heads/workflow-bench-typeinfo","pushedAt":"2024-05-02T15:33:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"}},{"before":"f5303b3dd722eca5dd7a7021b23b91cb0e64fc46","after":"7edd58afede8950bde2042f9cfeed210242105ca","ref":"refs/heads/master","pushedAt":"2024-05-02T15:33:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Add benchmarks for native compilation with type info enabled (#1244)","shortMessageHtmlLink":"Add benchmarks for native compilation with type info enabled (#1244)"}},{"before":null,"after":"cdd0d053bbac3dbcb52e7e0a4fb26852e3ec40c4","ref":"refs/heads/workflow-bench-typeinfo","pushedAt":"2024-05-02T15:17:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Add benchmarks for native compilation with type info enabled","shortMessageHtmlLink":"Add benchmarks for native compilation with type info enabled"}},{"before":"dda57dad6c55425d8cc7a38138597646f4adc265","after":null,"ref":"refs/heads/tconcat-perf","pushedAt":"2024-04-29T12:19:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"}},{"before":"af15c3cf17ed211f7f4a257cbc5bccd298c2e9e0","after":"f5303b3dd722eca5dd7a7021b23b91cb0e64fc46","ref":"refs/heads/master","pushedAt":"2024-04-29T12:19:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Make table.concat faster (#1243)\n\ntable.concat is idiomatic and should be the fastest way to concatenate\r\nall table array elements together, but apparently you can beat it by\r\nusing `string.format`, `string.rep` and `table.unpack`:\r\n\r\n```lua\r\nstring.format(string.rep(\"%*\", #t), table.unpack(t))\r\n```\r\n\r\n... this just won't do, so we should fix table.concat performance.\r\n\r\nThe deficit comes from two places:\r\n\r\n- rawgeti overhead followed by other stack accesses, all to extract a\r\nstring from what is almost always an in-bounds array lookup\r\n- addlstring overhead in case separator is empty (extra function calls)\r\n\r\nThis change fixes this by using a fast path for in-bounds array lookup\r\nfor a string. Note that `table.concat` also supports numbers (these need\r\nto be converted to strings which is a little cumbersome and has innate\r\noverhead), and out-of-bounds accesses*. In these cases we fall back to\r\nthe old implementation.\r\n\r\nTo trigger out-of-bounds accesses, you need to skip the past-array-end\r\nelement (which is nil per array invariant), but this is achievable\r\nbecause table.concat supports offset+length arguments. This should\r\nalmost never come up in practice but the per-element branches et al are\r\nfairly cheap compared to the eventual string copy/alloc anyway.\r\n\r\nThis change makes table.concat ~2x faster when the separator is empty;\r\nthe table.concat benchmark shows +40% gains but it uses a variety of\r\nstring separators of different lengths so it doesn't get the full\r\nbenefit from this change.\r\n\r\n---------\r\n\r\nCo-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>","shortMessageHtmlLink":"Make table.concat faster (#1243)"}},{"before":"2bb42da32f1146527126dfa1635c131e44f6709b","after":"dda57dad6c55425d8cc7a38138597646f4adc265","ref":"refs/heads/tconcat-perf","pushedAt":"2024-04-29T12:02:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Explicit numerical comparison","shortMessageHtmlLink":"Explicit numerical comparison"}},{"before":"dfdc124e27a22921eebcf208a499423e21b553b3","after":"2bb42da32f1146527126dfa1635c131e44f6709b","ref":"refs/heads/tconcat-perf","pushedAt":"2024-04-28T01:34:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"tests: Add more tests for better coverage","shortMessageHtmlLink":"tests: Add more tests for better coverage"}},{"before":"7ec3117177c948fad0db3d7f11501d2a6fa5c19d","after":"dfdc124e27a22921eebcf208a499423e21b553b3","ref":"refs/heads/tconcat-perf","pushedAt":"2024-04-28T01:26:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"tests: Add more coverage for table.concat corner cases","shortMessageHtmlLink":"tests: Add more coverage for table.concat corner cases"}},{"before":null,"after":"7ec3117177c948fad0db3d7f11501d2a6fa5c19d","ref":"refs/heads/tconcat-perf","pushedAt":"2024-04-28T01:21:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Make table.concat faster\n\ntable.concat is idiomatic and should be the fastest way to concatenate\nall table array elements together, but apparently you can beat it by\nusing string.format, string.rep and table.unpack:\n\n\tstring.format(string.rep(\"%s\", #t), table.unpack(t))\n\n... this just won't do, so we should fix table.concat performance.\n\nThe deficit comes from two places:\n\n- rawgeti overhead followed by other stack accesses, all to extract\na string from what is almost always an in-bounds array lookup\n- addlstring overhead in case separator is empty (extra function calls)\n\nThis change fixes this by using a fast path for in-bounds array lookup\nfor a string. Note that table.concat also supports numbers (these need\nto be converted to strings which is a little cumbersome and has innate\noverhead), and out-of-bounds accesses*. In these cases we fall back to\nthe old implementation.\n\nTo trigger out-of-bounds accesses, you need to skip the past-array-end\nelement (which is nil per array invariant), but this is achievable\nbecause table.concat supports offset+length arguments. This should\nalmost never come up in practice but the per-element branches et al are\nfairly cheap compared to the eventual string copy/alloc anyway.\n\nThis change makes table.concat ~2x faster when the separator is empty;\nthe table.concat benchmark shows +40% gains but it uses a variety of\nstring separators of different lengths so it doesn't get the full\nbenefit from this change.","shortMessageHtmlLink":"Make table.concat faster"}},{"before":"be1415a3637d652043d19f31a929b47b89341baa","after":null,"ref":"refs/heads/x64-asmfix","pushedAt":"2024-04-26T18:14:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"}},{"before":"259e50903855d1b8be79edc40fc275fd04c9c892","after":"af15c3cf17ed211f7f4a257cbc5bccd298c2e9e0","ref":"refs/heads/master","pushedAt":"2024-04-26T18:14:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"CodeGen: Fix a typo in X64 (dis)assembler (#1238)","shortMessageHtmlLink":"CodeGen: Fix a typo in X64 (dis)assembler (#1238)"}},{"before":null,"after":"be1415a3637d652043d19f31a929b47b89341baa","ref":"refs/heads/x64-asmfix","pushedAt":"2024-04-26T17:47:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"CodeGen: Fix a typo in X64 (dis)assembler","shortMessageHtmlLink":"CodeGen: Fix a typo in X64 (dis)assembler"}},{"before":"68bd1b2349e188c374f04e00b0b5de39e18aa5c3","after":"259e50903855d1b8be79edc40fc275fd04c9c892","ref":"refs/heads/master","pushedAt":"2024-04-25T22:26:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Vighnesh-V","name":null,"path":"/Vighnesh-V","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22487100?s=80&v=4"},"commit":{"message":"Sync to upstream/release/623 (#1236)\n\n# What's changed?\r\n\r\n### New Type Solver\r\n\r\n- Unification of two fresh types no longer binds them together.\r\n- Replaced uses of raw `emplace` with `emplaceType` to catch cyclic\r\nbound types when they are created.\r\n- `SetIndexerConstraint` is blocked until the indexer result type is not\r\nblocked.\r\n- Fix a case where a blocked type got past the constraint solver.\r\n- Searching for free types should no longer traverse into `ClassType`s.\r\n- Fix a corner case that could result in the non-testable type `~{}`.\r\n- Fix incorrect flagging when `any` was a parameter of some checked\r\nfunction in nonstrict type checker.\r\n- `IterableConstraint` now consider tables without `__iter` to be\r\niterables.\r\n\r\n### Native Code Generation\r\n\r\n- Improve register type info lookup by program counter.\r\n- Generate type information for locals and upvalues\r\n\r\n---\r\n\r\n### Internal Contributors\r\n\r\nCo-authored-by: Aaron Weiss \r\nCo-authored-by: Alexander McCord \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: James McNellis \r\nCo-authored-by: Vighnesh Vijay \r\nCo-authored-by: Vyacheslav Egorov \r\n\r\n---------\r\n\r\nCo-authored-by: Aaron Weiss \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: Vighnesh \r\nCo-authored-by: Aviral Goel \r\nCo-authored-by: David Cope \r\nCo-authored-by: Lily Brown \r\nCo-authored-by: Vyacheslav Egorov ","shortMessageHtmlLink":"Sync to upstream/release/623 (#1236)"}},{"before":"67b91452686b1aef4572734ab436bbc69d324e1d","after":"50a2f8daa814beaf267958f276b753a0c431a154","ref":"refs/heads/upstream","pushedAt":"2024-04-25T21:06:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexmccord","name":"Alexander McCord","path":"/alexmccord","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488393?s=80&v=4"},"commit":{"message":"Sync to upstream/release/623","shortMessageHtmlLink":"Sync to upstream/release/623"}},{"before":"641e9f6eb5ba7b92bed3327390f4c7f6336b6510","after":"88dd28910031d2a3edcd91ab0127de9cab910479","ref":"refs/heads/merge","pushedAt":"2024-04-25T21:06:42.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"alexmccord","name":"Alexander McCord","path":"/alexmccord","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488393?s=80&v=4"},"commit":{"message":"Fix missing include.","shortMessageHtmlLink":"Fix missing include."}},{"before":"9c2146288d78e8beacefe692ae1149fec066440e","after":"68bd1b2349e188c374f04e00b0b5de39e18aa5c3","ref":"refs/heads/master","pushedAt":"2024-04-19T21:48:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aatxe","name":"aaron","path":"/aatxe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/744293?s=80&v=4"},"commit":{"message":"Sync to upstream/release/622 (#1232)\n\n# What's changed?\r\n\r\n* Improved the actual message for the type errors for `cannot call\r\nnon-function` when attempting to call a union of functions/callable\r\ntables. The error now correctly explains the issue is an inability to\r\ndetermine the return type of the call in this situation.\r\n* Resolve an issue where tables and metatables were not correctly being\r\ncloned during instantiation (fixes #1176).\r\n* Refactor `luaM_getnextgcopage` to `luaM_getnextpage` (generally\r\nremoving `gco` prefix where appropriate).\r\n* Optimize `table.move` between tables for large ranges of elements.\r\n* Reformat a bunch of code automatically using `clang-format`.\r\n\r\n### New Type Solver\r\n\r\n* Clean up minimally-used or unused constraints in the constraint solver\r\n(`InstantiationConstraint`, `SetOpConstraint`,\r\n`SingletonOrTopTypeConstraint`).\r\n* Add a builtin `singleton` type family to replace\r\n`SingletonOrTopTypeConstraint` when inferring refinements.\r\n* Fixed a crash involving type path reasoning by recording when type\r\nfamily reduction has taken place in the path.\r\n* Improved constraint ordering by blocking on unreduced types families\r\nthat are not yet proven uninhabitable.\r\n* Improved the handling of `SetIndexerConstraints` for both better\r\ninference quality and to resolve crashes.\r\n* Fix a crash when normalizing cyclic unions of intersections.\r\n* Fix a crash when normalizing an intersection with the negation of\r\n`unknown`.\r\n* Fix a number of crashes caused by missing `follow` calls on `TypeId`s.\r\n* Changed type family reduction to correctly use a semantic notion of\r\nuninhabited types, rather than checking for `never` types specifically.\r\n* Refactor the `union` and `intersect` type families to be variadic.\r\n\r\n### Native Code Generation\r\n\r\n* Improve translation for userdata key get/set and userdata/vector\r\nnamecall.\r\n* Provide `[top level]` and `[anonymous]` as function names to\r\n`FunctionStats` as appropriate when no function name is available.\r\n* Disable unwind support on Android platforms since it is unsupported.\r\n* \r\n\r\n---\r\n\r\n### Internal Contributors\r\n\r\nCo-authored-by: Aaron Weiss \r\nCo-authored-by: Alexander McCord \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: Aviral Goel \r\nCo-authored-by: Vighnesh Vijay \r\nCo-authored-by: Vyacheslav Egorov \r\n\r\n---------\r\n\r\nCo-authored-by: Alexander McCord \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: Vighnesh \r\nCo-authored-by: Aviral Goel \r\nCo-authored-by: David Cope \r\nCo-authored-by: Lily Brown \r\nCo-authored-by: Vyacheslav Egorov ","shortMessageHtmlLink":"Sync to upstream/release/622 (#1232)"}},{"before":"858b93a5f351873b5bd7123c102ae324ce682ee7","after":"641e9f6eb5ba7b92bed3327390f4c7f6336b6510","ref":"refs/heads/merge","pushedAt":"2024-04-19T21:06:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"aatxe","name":"aaron","path":"/aatxe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/744293?s=80&v=4"},"commit":{"message":"Merge branch 'upstream' into merge","shortMessageHtmlLink":"Merge branch 'upstream' into merge"}},{"before":"0f0c0e4d28db9bfecb641080c6a1ff577a335398","after":"67b91452686b1aef4572734ab436bbc69d324e1d","ref":"refs/heads/upstream","pushedAt":"2024-04-19T21:06:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aatxe","name":"aaron","path":"/aatxe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/744293?s=80&v=4"},"commit":{"message":"Sync to upstream/release/622","shortMessageHtmlLink":"Sync to upstream/release/622"}},{"before":"67e16cba1826351e28d0bd193cedea14d01cbbee","after":"9c2146288d78e8beacefe692ae1149fec066440e","ref":"refs/heads/master","pushedAt":"2024-04-12T17:18:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Sync to upstream/release/621 (#1229)\n\n# What's changed?\r\n\r\n* Support for new 'require by string' RFC with relative paths and\r\naliases in now enabled in Luau REPL application\r\n\r\n### New Type Solver\r\n\r\n* Fixed assertion failure on generic table keys (`[expr] = value`)\r\n* Fixed an issue with type substitution traversing into the substituted\r\nparts during type instantiation\r\n* Fixed crash in union simplification when that union contained\r\nuninhabited unions and other types inside\r\n* Union types in binary type families like `add` are expanded\r\ninto `add | add` to handle\r\n* Added handling for type family solving creating new type families\r\n* Fixed a bug with normalization operation caching types with unsolved\r\nparts\r\n* Tables with uninhabited properties are now simplified to `never`\r\n* Fixed failures found by fuzzer\r\n\r\n### Native Code Generation\r\n\r\n* Added support for shared code generation between multiple Luau VM\r\ninstances\r\n* Fixed issue in load-store propagation and new tagged LOAD_TVALUE\r\ninstructions\r\n* Fixed issues with partial register dead store elimination causing\r\nfailures in GC assists\r\n\r\n---\r\n\r\n### Internal Contributors\r\n\r\nCo-authored-by: Aaron Weiss \r\nCo-authored-by: Alexander McCord \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: James McNellis \r\nCo-authored-by: Vighnesh Vijay \r\nCo-authored-by: Vyacheslav Egorov ","shortMessageHtmlLink":"Sync to upstream/release/621 (#1229)"}},{"before":"f97e96dc29f0b77c5abc64f2a9d9a731f896c2fb","after":"858b93a5f351873b5bd7123c102ae324ce682ee7","ref":"refs/heads/merge","pushedAt":"2024-04-12T11:08:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Sync fixup","shortMessageHtmlLink":"Sync fixup"}},{"before":"c730a51ca80af5c356ec1b0beaf7ac43a8f6fa6c","after":"0f0c0e4d28db9bfecb641080c6a1ff577a335398","ref":"refs/heads/upstream","pushedAt":"2024-04-12T11:04:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Sync to upstream/release/621","shortMessageHtmlLink":"Sync to upstream/release/621"}},{"before":"5aa6d9934024c92efac4e96838b2ad98589c4ed8","after":"f97e96dc29f0b77c5abc64f2a9d9a731f896c2fb","ref":"refs/heads/merge","pushedAt":"2024-04-12T11:04:29.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"vegorov-rbx","name":null,"path":"/vegorov-rbx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75688451?s=80&v=4"},"commit":{"message":"Merge branch 'upstream' into merge","shortMessageHtmlLink":"Merge branch 'upstream' into merge"}},{"before":"9649e5e446e02e5383c11e16b300ab4b426242a1","after":"67e16cba1826351e28d0bd193cedea14d01cbbee","ref":"refs/heads/master","pushedAt":"2024-04-05T20:45:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Vighnesh-V","name":null,"path":"/Vighnesh-V","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22487100?s=80&v=4"},"commit":{"message":"Sync to upstream/release/620 (#1223)\n\n# What's Changed\r\n\r\n## New Type Solver\r\n- Many more fixes to crashes, assertions, and hangs\r\n- Annotated locals now countermand the inferred types of locals, meaning\r\nthat for a type `type MyType = number | string`, `local foo : MyType =\r\n5` behaves the same as `local foo = 5 :: MyType`, where before, foo\r\nwould be assigned the type of the value on the rhs.\r\n- Type Normalization now respects resource limits.\r\n- Subtyping between classes and cyclic tables now supported\r\n\r\n## Native Code Generation\r\n- Work on the Native Code Generation(NCG) allocator continues\r\n\r\n---\r\n\r\n# Internal Contributors\r\n\r\nCo-authored-by: Aaron Weiss \r\nCo-authored-by: Alexander McCord \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: James McNellis \r\nCo-authored-by: Vighnesh Vijay \r\nCo-authored-by: Vyacheslav Egorov \r\n\r\n---------\r\n\r\nCo-authored-by: Aaron Weiss \r\nCo-authored-by: Alexander McCord \r\nCo-authored-by: Andy Friesen \r\nCo-authored-by: Aviral Goel \r\nCo-authored-by: David Cope \r\nCo-authored-by: Lily Brown \r\nCo-authored-by: Vyacheslav Egorov ","shortMessageHtmlLink":"Sync to upstream/release/620 (#1223)"}},{"before":"0f1973954cb396fd7a46c2032baee1e98ec65ccc","after":"5aa6d9934024c92efac4e96838b2ad98589c4ed8","ref":"refs/heads/merge","pushedAt":"2024-04-05T20:27:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Vighnesh-V","name":null,"path":"/Vighnesh-V","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22487100?s=80&v=4"},"commit":{"message":"transplant game engine fix for memory safety issues in normalization into OSS changes","shortMessageHtmlLink":"transplant game engine fix for memory safety issues in normalization …"}},{"before":"9cb93a98bc61e710724c2a428a0b94d615f22bfc","after":"0f1973954cb396fd7a46c2032baee1e98ec65ccc","ref":"refs/heads/merge","pushedAt":"2024-04-05T18:30:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Vighnesh-V","name":null,"path":"/Vighnesh-V","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22487100?s=80&v=4"},"commit":{"message":"remove trailing .","shortMessageHtmlLink":"remove trailing ."}},{"before":"2e1c0404d19466cf6d37c04a35248406ea07494c","after":"9cb93a98bc61e710724c2a428a0b94d615f22bfc","ref":"refs/heads/merge","pushedAt":"2024-04-05T18:27:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Vighnesh-V","name":null,"path":"/Vighnesh-V","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22487100?s=80&v=4"},"commit":{"message":"manually fix cmake configuration error","shortMessageHtmlLink":"manually fix cmake configuration error"}},{"before":"3e1b4130ea725844f3614e161020d7c73993536c","after":"2e1c0404d19466cf6d37c04a35248406ea07494c","ref":"refs/heads/merge","pushedAt":"2024-04-05T18:06:44.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Vighnesh-V","name":null,"path":"/Vighnesh-V","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22487100?s=80&v=4"},"commit":{"message":"Merge branch 'upstream' into merge","shortMessageHtmlLink":"Merge branch 'upstream' into merge"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQRYqcgA","startCursor":null,"endCursor":null}},"title":"Activity · luau-lang/luau"}