{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":154343814,"defaultBranch":"master","name":"starlark-go","ownerLogin":"google","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-10-23T14:35:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1342004?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715987216.0","currentOid":""},"activityList":{"items":[{"before":"3792562d0b7f4c093b4ced338f77ba46167febc5","after":"046347dcd1044f5e568fcf64884b0344f27910c0","ref":"refs/heads/master","pushedAt":"2024-05-20T16:03:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: profiler: stop using runtime.nanotime via linkname hack (#552)\n\nUpdates #546\r\nUpdates golang/go#67401","shortMessageHtmlLink":"starlark: profiler: stop using runtime.nanotime via linkname hack (#552)"}},{"before":"385c6e5f5ebc932a370aadb1cdd4916dbc53e943","after":null,"ref":"refs/heads/iter-tag","pushedAt":"2024-05-17T23:06:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"}},{"before":"f457c4c2b267186711d0fadc15024e46b98186c5","after":"3792562d0b7f4c093b4ced338f77ba46167febc5","ref":"refs/heads/master","pushedAt":"2024-05-17T23:06:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: require go1.23 for new iterators (#551)\n\nThe correct type for new iterators is iter.Seq, which\r\ndepends on a go1.23-only package, so we must limit the\r\nnew functions to new toolchains.\r\n\r\nIn principle this is (yet another) breaking change,\r\nbut I suspect only users of (pre-)go1.23 will notice,\r\nand they are living on the bleeding edge by choice.\r\n\r\nAlso, fix a couple of doc links.","shortMessageHtmlLink":"starlark: require go1.23 for new iterators (#551)"}},{"before":null,"after":"b917a22be3963fdac09ca8219fad6da20c356f7a","ref":"refs/heads/linkname","pushedAt":"2024-05-17T22:54:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: profiler: stop using runtime.nanotime via linkname hack\n\nUpdates #546\nUpdates golang/go#67401","shortMessageHtmlLink":"starlark: profiler: stop using runtime.nanotime via linkname hack"}},{"before":"b0cad49165072940a034292db730e58c0d5ce15b","after":"385c6e5f5ebc932a370aadb1cdd4916dbc53e943","ref":"refs/heads/iter-tag","pushedAt":"2024-05-17T22:42:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: require go1.23 for new iterators\n\nThe correct type for new iterators is iter.Seq, which\ndepends on a go1.23-only package, so we must limit the\nnew functions to new toolchains.\n\nIn principle this is (yet another) breaking change,\nbut I suspect only users of (pre-)go1.23 will notice,\nand they are living on the bleeding edge by choice.\n\nAlso, fix a couple of doc links.","shortMessageHtmlLink":"starlark: require go1.23 for new iterators"}},{"before":"23bf0ab9efb6100a9e3cdb4e566e195a7c2d0e97","after":"b0cad49165072940a034292db730e58c0d5ce15b","ref":"refs/heads/iter-tag","pushedAt":"2024-05-16T18:50:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: require go1.23 for new iterators\n\nThe correct type for new iterators is iter.Seq, which\ndepends on a go1.23-only package, so we must limit the\nnew functions to new toolchains.\n\nIn principle this is (yet another) breaking change,\nbut I suspect only users of (pre-)go1.23 will notice,\nand they are living on the bleeding edge by choice.\n\nAlso, fix a couple of doc links.","shortMessageHtmlLink":"starlark: require go1.23 for new iterators"}},{"before":null,"after":"23bf0ab9efb6100a9e3cdb4e566e195a7c2d0e97","ref":"refs/heads/iter-tag","pushedAt":"2024-05-16T17:25:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: require go1.23 for new iterators\n\nThe correct type for new iterators is iter.Seq, which\ndepends on a go1.23-only package, so we must limit the\nnew functions to new toolchains.\n\nIn principle this is (yet another) breaking change,\nbut I suspect only users of (pre-)go1.23 will notice,\nand they are living on the bleeding edge by choice.\n\nAlso, fix a couple of doc links.","shortMessageHtmlLink":"starlark: require go1.23 for new iterators"}},{"before":"6fed6365a1243f68755d8d929be060a7e734368f","after":"f457c4c2b267186711d0fadc15024e46b98186c5","ref":"refs/heads/master","pushedAt":"2024-05-10T16:30:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"spec: remove Contents in favor to GitHub's TOC (#549)","shortMessageHtmlLink":"spec: remove Contents in favor to GitHub's TOC (#549)"}},{"before":"cec2ad915c928b50c92f8f14242aed083b3a67ba","after":"6fed6365a1243f68755d8d929be060a7e734368f","ref":"refs/heads/master","pushedAt":"2024-05-10T15:44:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"docs: fix typos (#547)","shortMessageHtmlLink":"docs: fix typos (#547)"}},{"before":"35fe9f26b4bc8e8e5dfe3e95b084e98ebe9dc32f","after":"cec2ad915c928b50c92f8f14242aed083b3a67ba","ref":"refs/heads/master","pushedAt":"2024-05-10T15:43:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"syntax,repl: improve docs for deprecated functions (#548)","shortMessageHtmlLink":"syntax,repl: improve docs for deprecated functions (#548)"}},{"before":"9b43f0afd5217a6556578fe90aafdda24cf7d532","after":"35fe9f26b4bc8e8e5dfe3e95b084e98ebe9dc32f","ref":"refs/heads/master","pushedAt":"2024-05-07T19:56:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: tweak how UnpackArgs enforces optional args (#545)\n\nFixes https://github.com/google/starlark-go/issues/544\r\n\r\nSigned-off-by: Nick Santos ","shortMessageHtmlLink":"starlark: tweak how UnpackArgs enforces optional args (#545)"}},{"before":"9ceffb13b6407c1064c87a1c264ccf4246ccc663","after":null,"ref":"refs/heads/debug-api2","pushedAt":"2024-04-11T21:27:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"}},{"before":"169c9869398d879b05dcd91a2454986390557652","after":"9b43f0afd5217a6556578fe90aafdda24cf7d532","ref":"refs/heads/master","pushedAt":"2024-04-11T21:27:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: add debug API for Locals and FreeVars (#539)\n\nThis change adds the following new API to allow debugging tools\r\nand built-in functions access to the internals of Function values\r\nand call frames:\r\n\r\npackage starlark\r\n\r\ntype Binding struct {\r\n Name string\r\n Pos syntax.Position\r\n}\r\n\r\nfunc (fr *frame) NumLocals() int\r\nfunc (fr *frame) Local(i int) (Binding, Value)\r\n\r\ntype DebugFrame interface {\r\n ...\r\n NumLocals() int\r\n Local(i int) (Binding, Value)\r\n}\r\n\r\nfunc (fn *Function) NumFreeVars() int\r\nfunc (fn *Function) FreeVar(i int) (Binding, Value)\r\n\r\nThis is strictly a breaking change, but the changed functions\r\n(the Local methods) were previously documented as experimental.\r\nThe fix is straightforward.\r\n\r\nAlso, a test of DebugFrame to write an 'env' function in\r\na similar vein to Python's 'dir' function.\r\n\r\nFixes #538","shortMessageHtmlLink":"starlark: add debug API for Locals and FreeVars (#539)"}},{"before":null,"after":"9ceffb13b6407c1064c87a1c264ccf4246ccc663","ref":"refs/heads/debug-api2","pushedAt":"2024-04-11T17:53:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: add debug API for Locals and FreeVars\n\nThis change adds the following new API to allow debugging tools\nand built-in functions access to the internals of Function values\nand call frames:\n\npackage starlark\n\ntype Binding struct {\n Name string\n Pos syntax.Position\n}\n\nfunc (fr *frame) NumLocals() int\nfunc (fr *frame) Local(i int) (Binding, Value)\n\ntype DebugFrame interface {\n ...\n NumLocals() int\n Local(i int) (Binding, Value)\n}\n\nfunc (fn *Function) NumFreeVars() int\nfunc (fn *Function) FreeVar(i int) (Binding, Value)\n\nThis is strictly a breaking change, but the changed functions\n(the Local methods) were previously documented as experimental.\nThe fix is straightforward.\n\nAlso, a test of DebugFrame to write an 'env' function in\na similar vein to Python's 'dir' function.\n\nFixes #538","shortMessageHtmlLink":"starlark: add debug API for Locals and FreeVars"}},{"before":null,"after":"b533e7f78597cadbb9880429b4993745320c4a1b","ref":"refs/heads/debug-api","pushedAt":"2024-04-11T17:51:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: add debug API for Locals and FreeVars\n\nThis change adds the following new API to allow debugging tools\nand built-in functions access to the internals of Function values\nand call frames:\n\npackage starlark\n\ntype Binding struct {\n Name string\n Pos syntax.Position\n}\n\nfunc (fr *frame) NumLocals() int\nfunc (fr *frame) Local(i int) (Binding, Value)\n\ntype DebugFrame interface {\n ...\n NumLocals() int\n Local(i int) (Binding, Value)\n}\n\nfunc (fn *Function) NumFreeVars() int\nfunc (fn *Function) FreeVar(i int) (Binding, Value)\n\nThis is strictly a breaking change, but the changed functions\n(the Local methods) were previously documented as experimental.\nThe fix is straightforward.\n\nAlso, a test of DebugFrame to write an 'env' function in\na similar vein to Python's 'dir' function.\n\nFixes #538","shortMessageHtmlLink":"starlark: add debug API for Locals and FreeVars"}},{"before":"b533e7f78597cadbb9880429b4993745320c4a1b","after":"169c9869398d879b05dcd91a2454986390557652","ref":"refs/heads/master","pushedAt":"2024-04-11T17:51:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"Revert \"starlark: add debug API for Locals and FreeVars\"\n\nThis reverts commit b533e7f78597cadbb9880429b4993745320c4a1b.","shortMessageHtmlLink":"Revert \"starlark: add debug API for Locals and FreeVars\""}},{"before":"3f0a3703c02aaff109c1d5df37be01fee784d4fc","after":"b533e7f78597cadbb9880429b4993745320c4a1b","ref":"refs/heads/master","pushedAt":"2024-04-11T17:50:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: add debug API for Locals and FreeVars\n\nThis change adds the following new API to allow debugging tools\nand built-in functions access to the internals of Function values\nand call frames:\n\npackage starlark\n\ntype Binding struct {\n Name string\n Pos syntax.Position\n}\n\nfunc (fr *frame) NumLocals() int\nfunc (fr *frame) Local(i int) (Binding, Value)\n\ntype DebugFrame interface {\n ...\n NumLocals() int\n Local(i int) (Binding, Value)\n}\n\nfunc (fn *Function) NumFreeVars() int\nfunc (fn *Function) FreeVar(i int) (Binding, Value)\n\nThis is strictly a breaking change, but the changed functions\n(the Local methods) were previously documented as experimental.\nThe fix is straightforward.\n\nAlso, a test of DebugFrame to write an 'env' function in\na similar vein to Python's 'dir' function.\n\nFixes #538","shortMessageHtmlLink":"starlark: add debug API for Locals and FreeVars"}},{"before":"8c6bec2ff08373f4c02424887bbe373032a560bc","after":null,"ref":"refs/heads/iter-again","pushedAt":"2024-04-08T15:28:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"}},{"before":"e6e8e7ce1b7a8dff097a7e16bdacc53590e942ae","after":"3f0a3703c02aaff109c1d5df37be01fee784d4fc","ref":"refs/heads/master","pushedAt":"2024-04-08T15:28:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: eta-abstract the new iterators (#537)\n\nAccording to\r\nhttps://github.com/golang/go/issues/66626#issuecomment-2035188011,\r\nthe convention for iterator methods is that they should return\r\nan iterator, not be an iterator. The caller thus uses this form:\r\n\r\n for _ elem := range v.Elements() { ... }\r\n\r\nnot this one:\r\n\r\n for _ elem := range v.Elements { ... }\r\n\r\nThis is unfortunately a breaking API change, but since go1.23 is\r\nnot yet released, no-one should be using the new range syntax yet.","shortMessageHtmlLink":"starlark: eta-abstract the new iterators (#537)"}},{"before":null,"after":"8c6bec2ff08373f4c02424887bbe373032a560bc","ref":"refs/heads/iter-again","pushedAt":"2024-04-07T18:41:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: eta-abstract the new iterators\n\nAccording to\nhttps://github.com/golang/go/issues/66626#issuecomment-2035188011,\nthe convention for iterator methods is that they should return\nan iterator, not be an iterator. The caller thus uses this form:\n\n for _ elem := range v.Elements() { ... }\n\nnot this one:\n\n for _ elem := range v.Elements { ... }\n\nThis is unfortunately a breaking API change, but since go1.23 is\nnot yet released, no-one should be using the new range syntax yet.","shortMessageHtmlLink":"starlark: eta-abstract the new iterators"}},{"before":"76f96b5a6f80db225e14934c4e41792eb49f2929","after":null,"ref":"refs/heads/fix-newline","pushedAt":"2024-03-29T15:34:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"}},{"before":"ee8ed142361c69d52fe8e9fb5e311d2a0a7c02de","after":"e6e8e7ce1b7a8dff097a7e16bdacc53590e942ae","ref":"refs/heads/master","pushedAt":"2024-03-29T15:34:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"syntax: report start-of-token pos for parsePrimary errors (#533)\n\n(Conceivably other places need a similar treament, but they\r\nall seemed benign or marginal.)\r\n\r\nFixes #352","shortMessageHtmlLink":"syntax: report start-of-token pos for parsePrimary errors (#533)"}},{"before":"0dd4f442a751e88b0c6c63faf1dfb1e4822df52c","after":"76f96b5a6f80db225e14934c4e41792eb49f2929","ref":"refs/heads/fix-newline","pushedAt":"2024-03-28T18:37:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"syntax: report start-of-token pos for parsePrimary errors\n\n(Conceivably other places need a similar treament, but they\nall seemed benign or marginal.)\n\nFixes #352","shortMessageHtmlLink":"syntax: report start-of-token pos for parsePrimary errors"}},{"before":null,"after":"0dd4f442a751e88b0c6c63faf1dfb1e4822df52c","ref":"refs/heads/fix-newline","pushedAt":"2024-03-28T18:35:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"syntax: report start-of-token pos for parsePrimary errors\n\n(Conceivably other places need a similar treament, but they\nall seemed benign or marginal.)\n\nFixes #352","shortMessageHtmlLink":"syntax: report start-of-token pos for parsePrimary errors"}},{"before":"d0249071b67d991435d0e0f70d2f433e5a634451","after":null,"ref":"refs/heads/dependabot/go_modules/google.golang.org/protobuf-1.33.0","pushedAt":"2024-03-14T02:21:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"}},{"before":"efac67204ba7e6cab3882b99502189a6632d7070","after":"ee8ed142361c69d52fe8e9fb5e311d2a0a7c02de","ref":"refs/heads/master","pushedAt":"2024-03-14T02:21:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"build(deps): bump google.golang.org/protobuf from 1.25.0 to 1.33.0 (#530)\n\nBumps google.golang.org/protobuf from 1.25.0 to 1.33.0.\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: google.golang.org/protobuf\r\n dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump google.golang.org/protobuf from 1.25.0 to 1.33.0 (#530"}},{"before":null,"after":"d0249071b67d991435d0e0f70d2f433e5a634451","ref":"refs/heads/dependabot/go_modules/google.golang.org/protobuf-1.33.0","pushedAt":"2024-03-13T21:04:26.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":"build(deps): bump google.golang.org/protobuf from 1.25.0 to 1.33.0\n\nBumps google.golang.org/protobuf from 1.25.0 to 1.33.0.\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/protobuf\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump google.golang.org/protobuf from 1.25.0 to 1.33.0"}},{"before":"856cc5d49d32a2a45dd2fd57df7748bec92ff21a","after":null,"ref":"refs/heads/iterator","pushedAt":"2024-03-11T18:08:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"}},{"before":"981680b3e495fe01e4af9644a9f2657cf4237d5a","after":"efac67204ba7e6cab3882b99502189a6632d7070","ref":"refs/heads/master","pushedAt":"2024-03-11T18:08:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: new API for go1.23 push iterators (#527)\n\nThis change defines two helpers, Elements(seq)\r\nand Entries(mapping), that adapt the Iterable and\r\nIterableMapping interfaces to one- and two-variable\r\ngo1.23 range loops. The new syntax is more concise\r\nand frees the caller from worrying about Iterator.Done.\r\n\r\nWe do not yet update any calls to use them, so that\r\nthe project can continue to be build with pre-go1.23\r\nreleases of Go.\r\n\r\nAlso, define Elements methods on {*List,Tuple,*Set}\r\nand an Entries method on *Dict. These optimized iterators\r\n(which can fetch both k and v in one go) will be\r\nused by the Elements and Entries standalone functions\r\nwhen the operand supports it. (User-defined types\r\ncan implement these methods too, although the\r\ninterface isn't currently documented.)\r\n\r\nAlso, a go1.23-only test of the new iteration.","shortMessageHtmlLink":"starlark: new API for go1.23 push iterators (#527)"}},{"before":"c9d15fe9b627d60ed682d50211a8d342a9ce2780","after":"856cc5d49d32a2a45dd2fd57df7748bec92ff21a","ref":"refs/heads/iterator","pushedAt":"2024-03-09T18:23:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"adonovan","name":"Alan Donovan","path":"/adonovan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5658175?s=80&v=4"},"commit":{"message":"starlark: new API for go1.23 push iterators\n\nThis change defines two helpers, Elements(seq)\nand Entries(mapping), that adapt the Iterable and\nIterableMapping interfaces to one- and two-variable\ngo1.23 range loops. The new syntax is more concise\nand frees the caller from worrying about Iterator.Done.\n\nWe do not yet update any calls to use them, so that\nthe project can continue to be build with pre-go1.23\nreleases of Go.\n\nAlso, define Elements methods on {*List,Tuple,*Set}\nand an Entries method on *Dict. These optimized iterators\n(which can fetch both k and v in one go) will be\nused by the Elements and Entries standalone functions\nwhen the operand supports it. (User-defined types\ncan implement these methods too, although the\ninterface isn't currently documented.)\n\nAlso, a go1.23-only test of the new iteration.","shortMessageHtmlLink":"starlark: new API for go1.23 push iterators"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETvf3YwA","startCursor":null,"endCursor":null}},"title":"Activity ยท google/starlark-go"}