{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1644196,"defaultBranch":"master","name":"julia","ownerLogin":"JuliaLang","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-04-21T07:01:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/743164?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714755865.0","currentOid":""},"activityList":{"items":[{"before":"70f6990273b50f28aa20a1b9f3544244088b8b9c","after":null,"ref":"refs/heads/gb/addrspace_fun","pushedAt":"2024-05-03T17:04:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gbaraldi","name":"Gabriel Baraldi","path":"/gbaraldi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28694980?s=80&v=4"}},{"before":"2d87ce3a8d5aff9a67e5294bffe69ccb93cf1217","after":"9d59ecc66fdbc462507e736e4558a9f703dd4085","ref":"refs/heads/master","pushedAt":"2024-05-03T17:04:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gbaraldi","name":"Gabriel Baraldi","path":"/gbaraldi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28694980?s=80&v=4"},"commit":{"message":"When accessing the data pointer for an array, first decay it to a Derived Pointer (#54335)\n\nFixes https://github.com/JuliaLang/julia/issues/54266, I've not yet\r\nminimized something to put into a test but in any case we can add the\r\nlarge test since it executes quite quickly.\r\n\r\nThis also enables IR verification with `Strong=true` when building with\r\nassertions, this would've caught this bug much earlier.","shortMessageHtmlLink":"When accessing the data pointer for an array, first decay it to a Der…"}},{"before":"512f0958dc2de6808d4ac6dd5a78c3647969d87b","after":"70f6990273b50f28aa20a1b9f3544244088b8b9c","ref":"refs/heads/gb/addrspace_fun","pushedAt":"2024-05-03T14:16:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gbaraldi","name":"Gabriel Baraldi","path":"/gbaraldi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28694980?s=80&v=4"},"commit":{"message":"Make the analyzer happier","shortMessageHtmlLink":"Make the analyzer happier"}},{"before":null,"after":"b802fea9a995bf2b1183be8211f2d9eb97c407a5","ref":"refs/heads/jishnub/isupperlowercase","pushedAt":"2024-05-03T10:52:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jishnub","name":"Jishnu Bhattacharya","path":"/jishnub","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10461665?s=80&v=4"},"commit":{"message":"Assume :foldable in isuppercase/islowercase for Char","shortMessageHtmlLink":"Assume :foldable in isuppercase/islowercase for Char"}},{"before":"541a76d6f24e943c98869a73559eedaf11bac9d6","after":"31692d5a59ac6eace977fcdff0d7f589e1d34e3e","ref":"refs/heads/jishnub/linalgwrapperchar","pushedAt":"2024-05-03T07:32:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jishnub","name":"Jishnu Bhattacharya","path":"/jishnub","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10461665?s=80&v=4"},"commit":{"message":"WrapperChar Constructor from Char","shortMessageHtmlLink":"WrapperChar Constructor from Char"}},{"before":"5320bd974f905068d6d0df31eec5db8380b7a947","after":"133e8ce5402b2aa6c48f9dd7a0c408f8a2967093","ref":"refs/heads/kf/vasemanticssplit","pushedAt":"2024-05-03T06:25:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"Move nargs/isva to CodeInfo\n\nThis changes the canonical source of truth for va handling from\n`Method` to `CodeInfo`. There are multiple goals for this change:\n\n1. This addresses a longstanding complaint about the way that\n CodeInfo-returning generated functions work. Previously, the\n va-ness or not of the returned CodeInfo always had to match that\n of the generator. For Cassette-like transforms that generally have\n one big generator function that is varargs (while then looking up\n lowered code that is not varargs), this could become quite annoying.\n It's possible to workaround, but there is really no good reason to tie\n the two together. As we observed when we implemented OpaqueClosures, the\n vararg-ness of the signature and the `vararg arguments`->`tuple`\n transformation are mostly independent concepts. With this PR, generated\n functions can return CodeInfos with whatever combination of nargs/isva\n is convenient.\n\n2. This change requires clarifying where the va processing boundary is\n in inference. #54076 was already moving in that direction for irinterp,\n and this essentially does much of the same for regular inference. As a\n consequence the constprop cache is now using non-va-cooked signatures,\n which I think is preferable.\n\n3. This further decouples codegen from the presence of a `Method` (which\n is already not assumed, since the code being generated could be a\n toplevel thunk, but some codegen features are only available to things\n that come from Methods). There are a number of upcoming features that\n will require codegen of things that are not quite method specializations\n (See design doc linked in #52797 and things like #50641). This helps\n pave the road for that.\n\n4. I've previously considered expanding the kinds of vararg signatures that\n can be described (see e.g. #53851), which also requires a decoupling of\n the signature and ast notions of vararg. This again lays the groundwork\n for that, although I have no immediate plans to implement this change.\n\nImpact wise, this adds an internal field, which is not too breaking,\nbut downstream clients vary in how they construct their `CodeInfo`s and\nthe current way they're doing it will likely be incorrect after this change,\nso they will require a small two-line adjustment. We should perhaps consider\npulling out some of the more common patterns into a more stable package, since\ninterface in most of the last few releases, but that's a separate issue.","shortMessageHtmlLink":"Move nargs/isva to CodeInfo"}},{"before":null,"after":"5320bd974f905068d6d0df31eec5db8380b7a947","ref":"refs/heads/kf/vasemanticssplit","pushedAt":"2024-05-03T06:25:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"Move nargs/isva to CodeInfo\n\nThis changes the canonical source of truth for va handling from\n`Method` to `CodeInfo`. There are multiple goals for this change:\n\n1. This addresses a longstanding complaint about the way that\n CodeInfo-returning generated functions work. Previously, the\n va-ness or not of the returned CodeInfo always had to match that\n of the generator. For Cassette-like transforms that generally have\n one big generator function that is varargs (while then looking up\n lowered code that is not varargs), this could become quite annoying.\n It's possible to workaround, but there is really no good reason to tie\n the two together. As we observed when we implemented OpaqueClosures, the\n vararg-ness of the signature and the `vararg arguments`->`tuple`\n transformation are mostly independent concepts. With this PR, generated\n functions can return CodeInfos with whatever combination of nargs/isva\n is convenient.\n\n2. This change requires clarifying where the va processing boundary is\n in inference. #54076 was already moving in that direction for irinterp,\n and this essentially does much of the same for regular inference. As a\n consequence the constprop cache is now using non-va-cooked signatures,\n which I think is preferable.\n\n3. This further decouples codegen from the presence of a `Method` (which\n is already not assumed, since the code being generated could be a\n toplevel thunk, but some codegen features are only available to things\n that come from Methods). There are a number of upcoming features that\n will require codegen of things that are not quite method specializations\n (See design doc linked in #52797 and things like #50641). This helps\n pave the road for that.\n\n4. I've previously considered expanding the kinds of vararg signatures that\n can be described (see e.g. #53851), which also requires a decoupling of\n the signature and ast notions of vararg. This again lays the groundwork\n for that, although I have no immediate plans to implement this change.\n\nImpact wise, this adds an internal field, which is not too breaking,\nbut downstream clients vary in how they construct their `CodeInfo`s and\nthe current way they're doing it will likely be incorrect after this change,\nso they will require a small two-line adjustment. We should perhaps consider\npulling out some of the more common patterns into a more stable package, since\ninterface in most of the last few releases, but that's a separate issue.","shortMessageHtmlLink":"Move nargs/isva to CodeInfo"}},{"before":"cad6d1df1963a65ec6d49c838241079bf0f959f0","after":"2d87ce3a8d5aff9a67e5294bffe69ccb93cf1217","ref":"refs/heads/master","pushedAt":"2024-05-03T03:37:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"Pass CLANGSA_CXXFLAGS to clangsa tests (#54337)\n\n`CLANGSA_CXXFLAGS` are defined in `Make.inc`,\r\n\r\nhttps://github.com/JuliaLang/julia/blob/f712512a1159771d9a61e1a768e1a8b297a493c8/Make.inc#L1501\r\n\r\nand it is included in the Makefile for clangsa tests.\r\n\r\nhttps://github.com/JuliaLang/julia/blob/f712512a1159771d9a61e1a768e1a8b297a493c8/test/clangsa/Makefile#L4\r\n\r\nBut it does not get passed to clangsa tests properly. This PR fixes\r\nthis.","shortMessageHtmlLink":"Pass CLANGSA_CXXFLAGS to clangsa tests (#54337)"}},{"before":"b17224deaa885e2ca3b512a88b458ffbfab66584","after":null,"ref":"refs/heads/kf/toplevelmishow","pushedAt":"2024-05-03T03:37:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"}},{"before":"2e1fc88c682cf6ae6204c8455e76a819157ce104","after":"cad6d1df1963a65ec6d49c838241079bf0f959f0","ref":"refs/heads/master","pushedAt":"2024-05-03T03:37:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"show: Fix non-stacktrace show of toplevel MethodInstance (#54338)\n\nWhile we're here, also check before accessing the `uninferred` field.\r\nTop-level MethodInstances should always have this, but the system\r\ndoesn't enforce this and it's rude for a `show` method to throw on\r\ncorrupted data (since that's what people use to debug that).","shortMessageHtmlLink":"show: Fix non-stacktrace show of toplevel MethodInstance (#54338)"}},{"before":"794e10a236107ed4b47c69ff1e3ae6dc326bda79","after":null,"ref":"refs/heads/kf/ocoptnoc","pushedAt":"2024-05-03T03:33:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"}},{"before":"f712512a1159771d9a61e1a768e1a8b297a493c8","after":"2e1fc88c682cf6ae6204c8455e76a819157ce104","ref":"refs/heads/master","pushedAt":"2024-05-03T03:33:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"Allow optimized OC in :new_opaque_closure (#54329)\n\nThis isn't officially supported, but some packages are currently using\r\nthe pattern of creating an optimized opaque closure, pulling out its\r\nmethod and then using that in `:new_opaque_closure` to change the\r\nenvironment. This stopped working properly when I changed optimized ocs\r\nto not have a ->source field in the method. Let's keep this working for\r\nnow, but I'd like to provide a more first class mechanism for these\r\nkinds of use cases in the near future.","shortMessageHtmlLink":"Allow optimized OC in :new_opaque_closure (#54329)"}},{"before":"3588db5c733d1f8ec652b82cce15fd2825e64d63","after":"b17224deaa885e2ca3b512a88b458ffbfab66584","ref":"refs/heads/kf/toplevelmishow","pushedAt":"2024-05-02T23:58:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"show: Fix non-stacktrace show of toplevel MethodInstance\n\nWhile we're here, also check before accessing the `uninferred` field.\nTop-level MethodInstances should always have this, but the system\ndoesn't enforce this and it's rude for a `show` method to throw on\ncorrupted data (since that's what people use to debug that).","shortMessageHtmlLink":"show: Fix non-stacktrace show of toplevel MethodInstance"}},{"before":"02cbe3a0c15a92420077f60dd4688b5283983e1c","after":"794e10a236107ed4b47c69ff1e3ae6dc326bda79","ref":"refs/heads/kf/ocoptnoc","pushedAt":"2024-05-02T23:55:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"Allow optimized OC in :new_opaque_closure\n\nThis isn't officially supported, but some packages are currently using\nthe pattern of creating an optimized opaque closure, pulling out its\nmethod and then using that in `:new_opaque_closure` to change the\nenvironment. This stopped working properly when I changed optimized\nocs to not have a ->source field in the method. Let's keep this working\nfor now, but I'd like to provide a more first class mechanism for these\nkinds of use cases in the near future.","shortMessageHtmlLink":"Allow optimized OC in :new_opaque_closure"}},{"before":null,"after":"3588db5c733d1f8ec652b82cce15fd2825e64d63","ref":"refs/heads/kf/toplevelmishow","pushedAt":"2024-05-02T23:53:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"show: Fix non-stacktrace show of toplevel MethodInstance\n\nWhile we're here, also check before accessing the `uninferred` field.\nTop-level MethodInstances should always have this, but the system\ndoesn't enforce this and it's rude for a `show` method to throw on\ncorrupted data (since that's what people use to debug that).","shortMessageHtmlLink":"show: Fix non-stacktrace show of toplevel MethodInstance"}},{"before":"4818c9f74d4f79c91b2d549b9dfe9eb485315c9d","after":"e34efdd5e21692db046ffe9b20d6bcf0ea5d22e9","ref":"refs/heads/stevengj-patch-3","pushedAt":"2024-05-02T23:41:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"stevengj","name":"Steven G. Johnson","path":"/stevengj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2913679?s=80&v=4"},"commit":{"message":"Update base/docs/basedocs.jl\n\nCo-authored-by: Sukera <11753998+Seelengrab@users.noreply.github.com>","shortMessageHtmlLink":"Update base/docs/basedocs.jl"}},{"before":"2acd75ba62fb8ef035df0a82ea8ccd42c86dd72a","after":"512f0958dc2de6808d4ac6dd5a78c3647969d87b","ref":"refs/heads/gb/addrspace_fun","pushedAt":"2024-05-02T22:32:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gbaraldi","name":"Gabriel Baraldi","path":"/gbaraldi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28694980?s=80&v=4"},"commit":{"message":"Enable Strong verifier when building with assertions","shortMessageHtmlLink":"Enable Strong verifier when building with assertions"}},{"before":null,"after":"2acd75ba62fb8ef035df0a82ea8ccd42c86dd72a","ref":"refs/heads/gb/addrspace_fun","pushedAt":"2024-05-02T20:10:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gbaraldi","name":"Gabriel Baraldi","path":"/gbaraldi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28694980?s=80&v=4"},"commit":{"message":"When accessing the data pointer for an array, first decay it to a Derived Pointer","shortMessageHtmlLink":"When accessing the data pointer for an array, first decay it to a Der…"}},{"before":"ae7fc6c2541acfbb4a03dcd051f96dbcbe676c6d","after":"541a76d6f24e943c98869a73559eedaf11bac9d6","ref":"refs/heads/jishnub/linalgwrapperchar","pushedAt":"2024-05-02T19:13:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jishnub","name":"Jishnu Bhattacharya","path":"/jishnub","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10461665?s=80&v=4"},"commit":{"message":"Use all(map(...)) instead of all_in","shortMessageHtmlLink":"Use all(map(...)) instead of all_in"}},{"before":"7ab6eb0aab655a189f10c7245462acfac4f715a8","after":null,"ref":"refs/heads/jishnub/tupleiterate","pushedAt":"2024-05-02T16:41:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"}},{"before":"b385b4f48164c7c85311e88ac566ca8a98f4fad5","after":"f712512a1159771d9a61e1a768e1a8b297a493c8","ref":"refs/heads/master","pushedAt":"2024-05-02T16:40:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Keno","name":"Keno Fischer","path":"/Keno","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1291671?s=80&v=4"},"commit":{"message":"Assume :nothrow in iterating over tuples (#54330)\n\nOn master,\r\n```julia\r\njulia> Base.infer_effects(iterate, (Tuple{Int,Int,Int}, Int))\r\n(+c,+e,!n,+t,+s,+m,+u)\r\n```\r\nSince the indexing is only carried out for valid indices, it should be\r\nsafe to mark this as `nothrow`.\r\nAfter this PR,\r\n```julia\r\njulia> Base.infer_effects(iterate, (Tuple{Int,Int,Int}, Int))\r\n(+c,+e,+n,+t,+s,+m,+u)\r\n```\r\n\r\n---------\r\n\r\nCo-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com>","shortMessageHtmlLink":"Assume :nothrow in iterating over tuples (#54330)"}},{"before":"18bbfc70a7d8b872c495c1402ede703674ba99df","after":null,"ref":"refs/heads/kc/callback","pushedAt":"2024-05-02T15:12:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"KristofferC","name":"Kristoffer Carlsson","path":"/KristofferC","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1282691?s=80&v=4"}},{"before":"e637be11f6fad4e45501138090135e4748a6b60e","after":"b385b4f48164c7c85311e88ac566ca8a98f4fad5","ref":"refs/heads/master","pushedAt":"2024-05-02T15:12:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"KristofferC","name":"Kristoffer Carlsson","path":"/KristofferC","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1282691?s=80&v=4"},"commit":{"message":"prevent `package_callbacks` to run multiple time for a single package (#54243)\n\nIntroduced in https://github.com/JuliaLang/julia/pull/52841.","shortMessageHtmlLink":"prevent package_callbacks to run multiple time for a single package ("}},{"before":"7ca9ef3a72366e5a14b83216da3644ea68d052f4","after":"a8c2578e97c37b14254e9543507ec6999fdf3c7b","ref":"refs/heads/dcn-fix-54275-on-master","pushedAt":"2024-05-02T14:22:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"d-netto","name":"Diogo Netto","path":"/d-netto","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61364108?s=80&v=4"},"commit":{"message":"move jl_gc_count_freed to later in the function","shortMessageHtmlLink":"move jl_gc_count_freed to later in the function"}},{"before":null,"after":"b8f59977bbe120cbaaefbdf6d901991be4728368","ref":"refs/heads/kc/revert_setindex","pushedAt":"2024-05-02T14:18:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"KristofferC","name":"Kristoffer Carlsson","path":"/KristofferC","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1282691?s=80&v=4"},"commit":{"message":"Revert \"add unsetindex support to more copyto methods (#51760)\"\n\nThis reverts commit f0a28e9a45a34f1c524b3cf02cbbac1351f1da81.","shortMessageHtmlLink":"Revert \"add unsetindex support to more copyto methods (#51760)\""}},{"before":null,"after":"7ca9ef3a72366e5a14b83216da3644ea68d052f4","ref":"refs/heads/dcn-fix-54275-on-master","pushedAt":"2024-05-02T14:03:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"d-netto","name":"Diogo Netto","path":"/d-netto","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61364108?s=80&v=4"},"commit":{"message":"correctly track freed bytes in jl_genericmemory_to_string","shortMessageHtmlLink":"correctly track freed bytes in jl_genericmemory_to_string"}},{"before":"62af9e1a69a25bbdc593e34ee266d8be93f81b92","after":"7ab6eb0aab655a189f10c7245462acfac4f715a8","ref":"refs/heads/jishnub/tupleiterate","pushedAt":"2024-05-02T10:35:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jishnub","name":"Jishnu Bhattacharya","path":"/jishnub","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10461665?s=80&v=4"},"commit":{"message":"update test\n\nCo-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com>","shortMessageHtmlLink":"update test"}},{"before":"5dcd509b66f372291ee9cb0a6bbdea7e6cf72554","after":"e637be11f6fad4e45501138090135e4748a6b60e","ref":"refs/heads/master","pushedAt":"2024-05-02T10:22:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"KristofferC","name":"Kristoffer Carlsson","path":"/KristofferC","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1282691?s=80&v=4"},"commit":{"message":"🤖 [master] Bump the Pkg stdlib from 8f772ffa7 to a0851bcfd (#54316)\n\nStdlib: Pkg\r\nURL: https://github.com/JuliaLang/Pkg.jl.git\r\nStdlib branch: master\r\nJulia branch: master\r\nOld commit: 8f772ffa7\r\nNew commit: a0851bcfd\r\nJulia version: 1.12.0-DEV\r\nPkg version: 1.12.0\r\nBump invoked by: @KristofferC\r\nPowered by:\r\n[BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl)\r\n\r\nDiff:\r\nhttps://github.com/JuliaLang/Pkg.jl/compare/8f772ffa72d86c81f03cddce2e779d6b330414e3...a0851bcfd73aad084fe7b05919c8e6cfc5c1b7a4\r\n\r\n```\r\n$ git log --oneline 8f772ffa7..a0851bcfd\r\na0851bcfd Relax overly-specific manifest tests (#3884)\r\n299b77093 guard against isdir EACESS in completions (#3877)\r\nb9c39a7be Merge pull request #3883 from JuliaLang/kc/resolve_tree_hash\r\n8ab562f72 instantiate the test environment if it is in the current workspace when testing\r\n1d961c1c9 get the correct manifest file for a workspace\r\ne468facb5 allow `resolve` to download packages that have been deleted from disk but has a manifest entry\r\n20ceec9b8 do not precompile full env on `using` callback from REPL (#3876)\r\n195e17e3f Replace UnstableIO with IOContext{IO} (#3735)\r\n00aa38cb3 add missing `**5.**` (#3870)\r\nac5672dad Revert \"Move \"Creating Packages\" to Julia docs\" (#3818)\r\n```\r\n\r\nCo-authored-by: Dilum Aluthge ","shortMessageHtmlLink":"🤖 [master] Bump the Pkg stdlib from 8f772ffa7 to a0851bcfd (#54316)"}},{"before":null,"after":"62af9e1a69a25bbdc593e34ee266d8be93f81b92","ref":"refs/heads/jishnub/tupleiterate","pushedAt":"2024-05-02T09:58:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jishnub","name":"Jishnu Bhattacharya","path":"/jishnub","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10461665?s=80&v=4"},"commit":{"message":"Assume :nothrow in iterating over tuples","shortMessageHtmlLink":"Assume :nothrow in iterating over tuples"}},{"before":"185f058e388015c49c43a904cc2247b3bdd5ac92","after":"5dcd509b66f372291ee9cb0a6bbdea7e6cf72554","ref":"refs/heads/master","pushedAt":"2024-05-02T09:39:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fingolfin","name":"Max Horn","path":"/fingolfin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/241512?s=80&v=4"},"commit":{"message":"Add specialised AnnotatedString pipe read/writes (#53715)\n\nEnsure that when an AnnotatedIOBuffer is wrapped in an IOContext (or\r\nsimilar AnnotatedPipe-based construct), that writes of annotated\r\nstrings/chars and reading out an AnnotatedString is unimpeded by the\r\nIOContext wrapping.\r\n\r\nWithout these specialisations, the generic pipe_reader/pipe_writer\r\nfallbacks will directly access the underlying IOBuffer and annotations\r\nwill be lost.\r\n\r\nThere are a number of scenarios in which one might want to combine an\r\nAnnotatedIOBuffer and IOContext (for example setting the compact\r\nproperty). Losing annotations in such scenarios is highly undesirable.\r\nIt is of particular note that this can arise in situations where you\r\ncan't unwrap the IOContext as needed, for example when passing IO to a\r\nfunction you do not control (which is currently extremely hard to work\r\naround).\r\n\r\nGetting this right is a little difficult, and a few approaches have been\r\ntried. Initially, I added IOContext{AnnotatedIOBuffer} specialisations\r\nto show.jl, but arguably it's a bit of a code smell to specialise in\r\nthis way (and Jameson wasn't happy with it, with concerns that it could\r\nbe tricked by IOContext{Any}).\r\n\r\n # So that read/writes with `IOContext` (and any similar `AbstractPipe` wrappers)\r\n # work as expected.\r\n write(io::IOContext{AnnotatedIOBuffer}, s::Union{AnnotatedString, SubString{<:AnnotatedString}}) =\r\n write(io.io, s)\r\n write(io::AnnotatedIOBuffer, c::AnnotatedChar) = write(io.io, c)\r\n\r\nThen I tried making it so that IOContext writes dispatched on the\r\nwrapped IO type, but of course that broke cases like IOContext{IOBuffer}\r\nwith :color=>true.\r\n\r\n # So that read/writes with `IOContext` (and any similar `AbstractPipe` wrappers)\r\n # work as expected.\r\n write(io::AbstractPipe, s::Union{AnnotatedString, SubString{<:AnnotatedString}}) =\r\n write(pipe_writer(io), s)\r\n write(io::AbstractPipe, c::AnnotatedChar) = write(pipe_writer(io), c)\r\n\r\nFinally, we have the current AbstractPipe + Annotated type\r\nspecialisation, which IOContext is just an instance of. To avoid\r\nbehaving too broadly, we need to confirm that the underlying IO is\r\nactually an AnnotatedIOBuffer. I'm still not happy with this, only idea\r\nI've had other than implementing IOContext{AnnotatedIOBuffer} methods\r\nthat actually seems viable, and I've had trouble soliciting help from\r\nother people brainstorming here.\r\n\r\nIf somebody can implement something cleaner here in the future, I'd be\r\nthrilled.","shortMessageHtmlLink":"Add specialised AnnotatedString pipe read/writes (#53715)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQPXb-gA","startCursor":null,"endCursor":null}},"title":"Activity · JuliaLang/julia"}