{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":2203806,"defaultBranch":"master","name":"dmd","ownerLogin":"jmdavis","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2011-08-14T01:23:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/579956?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713800084.0","currentOid":""},"activityList":{"items":[{"before":"ae2dc11619a6624ebbfca232699ca7bdb03e14b6","after":"0e8e67097df1a367eec1cff2069166843ad53eb3","ref":"refs/heads/master","pushedAt":"2024-09-15T16:14:02.000Z","pushType":"push","commitsCount":48,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla 23812 - ImportC: allow adding function attributes to imported C functions (#16820)\n\nThis adds a new pragma for ImportC, which allows to set default storage\r\nclasses. Only `nothrow`, `@nogc` and `pure` are supported for now.\r\nThey can be disabled later using `#pragma attribute(pop)`.\r\n\r\nUnknown storage classes are ignored.","shortMessageHtmlLink":"Fix bugzilla 23812 - ImportC: allow adding function attributes to imp…"}},{"before":"3fac91f043e69f9529861370a0783bb85a1bb6dc","after":"ae2dc11619a6624ebbfca232699ca7bdb03e14b6","ref":"refs/heads/master","pushedAt":"2024-08-16T16:23:51.000Z","pushType":"push","commitsCount":80,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Require adjacent `auto ref` keywords","shortMessageHtmlLink":"Require adjacent auto ref keywords"}},{"before":"86b71a29edc1dd6ef43173fded24da64871f0201","after":"3fac91f043e69f9529861370a0783bb85a1bb6dc","ref":"refs/heads/master","pushedAt":"2024-07-16T03:13:10.000Z","pushType":"push","commitsCount":117,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"fix ref pretregs in cod4.d (#16712)","shortMessageHtmlLink":"fix ref pretregs in cod4.d (dlang#16712)"}},{"before":"0769c83b1bfa3264e1daf271de8da09ed5ce630d","after":"86b71a29edc1dd6ef43173fded24da64871f0201","ref":"refs/heads/master","pushedAt":"2024-06-16T10:22:52.000Z","pushType":"push","commitsCount":87,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"CI: Add self-compile step to GHA main jobs (#16586)\n\nThis test making sure that DMD can successfully build itself got lost\r\nwhen disabling/commenting-out the coverage jobs.","shortMessageHtmlLink":"CI: Add self-compile step to GHA main jobs (dlang#16586)"}},{"before":"757ba61fea361e062aa4629124017e68586a1e0b","after":"0769c83b1bfa3264e1daf271de8da09ed5ce630d","ref":"refs/heads/master","pushedAt":"2024-05-24T06:12:59.000Z","pushType":"push","commitsCount":121,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Revert \"simplify union evc (#16502)\"\n\nThis reverts commit 35bcd18e513f94ebf9523f1545974c8192c0075e.","shortMessageHtmlLink":"Revert \"simplify union evc (dlang#16502)\""}},{"before":"dc37b90ffe22fda3020fe87ec5c230916c6cb4ca","after":"757ba61fea361e062aa4629124017e68586a1e0b","ref":"refs/heads/master","pushedAt":"2024-04-22T19:13:16.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla issue 24517: druntime tests crash on FreeBSD 14\n\nFreeBSD 14 changed the signature of qsort_r to be POSIX-compliant with\nPOSIX, making it so that our binding for it no longer matches, resulting\nin a crash when it's used.\n\nThis implements a fix similar to what the FreeBSD headers do to avoid\nbreaking code (they provide a static inline extern(C++) overload for the\nold signature). This provides a deprecated extern(D) overload for the\nold signature. The extern(C) overload now matches the new signature. The\nchanges have been versioned so that they only affect FreeBSD 14 and\nnewer.\n\nTechnically, if someone used Cmp when declaring their function for\nqsort_r, this would still break them (though with a compilation error\nthat should be easy to fix rather than silent breakage or a crash), but\nI don't really see a way around that, and Cmp is not part of the POSIX\nAPI, so no one would have a clue that it was a thing without digging\nthrough the bindings. Arguably, we should make it private, since it's\nnot part of POSIX, but I haven't done anything with that in this commit.\nMy guess is that in reality, no D programs are both written to use\nqsort_r and run on FreeBSD (outside of the druntime tests), but this\nway, they won't break unless they use Cmp to declare their comparator\nfunction. They'll just get a deprecation message that they should update\ntheir code.\n\nRegardless, we have to change the signature for FreeBSD 14 for it to\nwork, and this does that.","shortMessageHtmlLink":"Fix bugzilla issue 24517: druntime tests crash on FreeBSD 14"}},{"before":"df9a56d192579a92cffd237fb81707c65240ee46","after":null,"ref":"refs/heads/issue_24517","pushedAt":"2024-04-22T15:34:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"}},{"before":null,"after":"df9a56d192579a92cffd237fb81707c65240ee46","ref":"refs/heads/issue_24517","pushedAt":"2024-04-22T14:04:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla issue 24517: druntime tests crash on FreeBSD 14\n\nFreeBSD 14 changed the signature of qsort_r to be POSIX-compliant with\nPOSIX, making it so that our binding for it no longer matches, resulting\nin a crash when it's used.\n\nThis implements a fix similar to what the FreeBSD headers do to avoid\nbreaking code (they provide a static inline extern(C++) overload for the\nold signature). This provides a deprecated extern(D) overload for the\nold signature. The extern(C) overload now matches the new signature. The\nchanges have been versioned so that they only affect FreeBSD 14 and\nnewer.\n\nTechnically, if someone used Cmp when declaring their function for\nqsort_r, this would still break them (though with a compilation error\nthat should be easy to fix rather than silent breakage or a crash), but\nI don't really see a way around that, and Cmp is not part of the POSIX\nAPI, so no one would have a clue that it was a thing without digging\nthrough the bindings. Arguably, we should make it private, since it's\nnot part of POSIX, but I haven't done anything with that in this commit.\nMy guess is that in reality, no D programs are both written to use\nqsort_r and run on FreeBSD (outside of the druntime tests), but this\nway, they won't break unless they use Cmp to declare their comparator\nfunction. They'll just get a deprecation message that they should update\ntheir code.\n\nRegardless, we have to change the signature for FreeBSD 14 for it to\nwork, and this does that.","shortMessageHtmlLink":"Fix bugzilla issue 24517: druntime tests crash on FreeBSD 14"}},{"before":"9a86c4e06c5a22fb3be9f0daaec12b4120ef963f","after":"dc37b90ffe22fda3020fe87ec5c230916c6cb4ca","ref":"refs/heads/master","pushedAt":"2024-04-18T16:10:06.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"dtoh: emit _d_dynamicArray only when needed (#16397)","shortMessageHtmlLink":"dtoh: emit _d_dynamicArray only when needed (dlang#16397)"}},{"before":"b7b6a11a08a63ec5cbf42ad73411b69e712c39f4","after":null,"ref":"refs/heads/issue_24493","pushedAt":"2024-04-18T15:52:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"}},{"before":"a14af67ec4fe94bcb40098f4f5426e6608766c6a","after":"9a86c4e06c5a22fb3be9f0daaec12b4120ef963f","ref":"refs/heads/master","pushedAt":"2024-04-16T07:16:32.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"add find_files() to common/file.d (#16365)","shortMessageHtmlLink":"add find_files() to common/file.d (dlang#16365)"}},{"before":"e92becf521c63b3c663bf886711974f371e30dcc","after":"b7b6a11a08a63ec5cbf42ad73411b69e712c39f4","ref":"refs/heads/issue_24493","pushedAt":"2024-04-11T03:12:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla issue 24493: FreeBSD_14 version identifier missing\n\nApparently, there were two problems that needed fixing.\n\n1. The code for the FreeBSD_14 version identifier had not been added\n yet.\n\n2. The build did nothing to detect the version of FreeBSD, which makes\n it very easy to build for the wrong version. The CI apparently sets\n the version - e.g. TARGET_FREEBSD13 - but unless one of those\n TARGET_FREEBSD* versions is set, the build defaults to FreeBSD 11,\n which isn't even supported any longer.\n\nSo, this adds the code for the FreeBSD_14 identifier, and it makes it so\nthat the build queries the OS version on FreeBSD if TARGET_FREEBSD* has\nnot been set. So, anything that sets the TARGET_FREEBSD* version when\nbuilding will control the target version as before, but if it's not set,\nthen it will target whatever the current system is.","shortMessageHtmlLink":"Fix bugzilla issue 24493: FreeBSD_14 version identifier missing"}},{"before":"011f3a059b6f74ec4d163c9e48da6ec4bd34cb46","after":"e92becf521c63b3c663bf886711974f371e30dcc","ref":"refs/heads/issue_24493","pushedAt":"2024-04-11T03:06:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla issue 24493: FreeBSD_14 version identifier missing\n\nApparently, there were two problems that needed fixing.\n\n1. The code for the FreeBSD_14 version identifier had not been added\n yet.\n\n2. The build did nothing to detect the version of FreeBSD, which makes\n it very easy to build for the wrong version. The CI apparently sets\n the version - e.g. TARGET_FREEBSD13 - but unless one of those\n TARGET_FREEBSD* versions is set, the build defaults to FreeBSD 11,\n which isn't even supported any longer.\n\nSo, this adds the code for the FreeBSD_14 identifier, and it makes it so\nthat the build queries the OS version on FreeBSD if TARGET_FREEBSD* has\nnot been set. So, anything that sets the TARGET_FREEBSD* version when\nbuilding will control the target version as before, but if it's not set,\nthen it will target whatever the current system is.","shortMessageHtmlLink":"Fix bugzilla issue 24493: FreeBSD_14 version identifier missing"}},{"before":null,"after":"011f3a059b6f74ec4d163c9e48da6ec4bd34cb46","ref":"refs/heads/issue_24493","pushedAt":"2024-04-09T21:42:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla issue 24493: FreeBSD_14 version identifier missing\n\nApparently, there were two problems that needed fixing.\n\n1. The code for the FreeBSD_14 version identifier had not been added\n yet.\n\n2. The build did nothing to detect the version of FreeBSD, which makes\n it very easy to build for the wrong version. The CI apparently sets\n the version - e.g. TARGET_FREEBSD13 - but unless one of those\n TARGET_FREEBSD* versions is set, the build defaults to FreeBSD 11,\n which isn't even supported any longer.\n\nSo, this adds the code for the FreeBSD_14 identifier, and it makes it so\nthat the build queries the OS version on FreeBSD if TARGET_FREEBSD* has\nnot been set. So, anything that sets the TARGET_FREEBSD* version when\nbuilding will control the target version as before, but if it's not set,\nthen it will target whatever the current system is.","shortMessageHtmlLink":"Fix bugzilla issue 24493: FreeBSD_14 version identifier missing"}},{"before":"e9c6884046b1b20d2fc21c16d9ec743ba4250858","after":"a14af67ec4fe94bcb40098f4f5426e6608766c6a","ref":"refs/heads/master","pushedAt":"2024-04-09T15:53:28.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"fix bugzilla Issue 21854 - @live breaks foreach over integers","shortMessageHtmlLink":"fix bugzilla Issue 21854 - @LiVe breaks foreach over integers"}},{"before":"e00869b27e3d9cabed2b6e73503561997398759c","after":"e9c6884046b1b20d2fc21c16d9ec743ba4250858","ref":"refs/heads/master","pushedAt":"2024-04-07T05:00:59.000Z","pushType":"push","commitsCount":22,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Add mqueue declarations for FreeBSD.\n\nThe glibc declarations are unchanged, but they had to be put in a proper\nversion block instead of using : with the version statement.","shortMessageHtmlLink":"Add mqueue declarations for FreeBSD."}},{"before":"582f17a173b3ecaf30f2d859a0ef521aa68ea9ef","after":"406f7b50a97593d46d051d274867cd5125e6faae","ref":"refs/heads/freebsd_mqueue","pushedAt":"2024-04-06T12:02:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Add mqueue declarations for FreeBSD.\n\nThe glibc declarations are unchanged, but they had to be put in a proper\nversion block instead of using : with the version statement.","shortMessageHtmlLink":"Add mqueue declarations for FreeBSD."}},{"before":"47452ebe3799c9a242e0e6941a899ce70b87dfe8","after":"582f17a173b3ecaf30f2d859a0ef521aa68ea9ef","ref":"refs/heads/freebsd_mqueue","pushedAt":"2024-04-06T11:59:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Add mqueue declarations for FreeBSD.\n\nThe glibc declarations are unchanged, but they had to be put in a proper\nversion block instead of using : with the version statement.","shortMessageHtmlLink":"Add mqueue declarations for FreeBSD."}},{"before":null,"after":"47452ebe3799c9a242e0e6941a899ce70b87dfe8","ref":"refs/heads/freebsd_mqueue","pushedAt":"2024-04-06T11:58:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Add mqueue declarations for FreeBSD.","shortMessageHtmlLink":"Add mqueue declarations for FreeBSD."}},{"before":"d8789c168dfe7678d19ace2b193e29213bd78932","after":"e00869b27e3d9cabed2b6e73503561997398759c","ref":"refs/heads/master","pushedAt":"2024-03-30T04:29:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"some simple refactorings in cgsched (#16344)","shortMessageHtmlLink":"some simple refactorings in cgsched (dlang#16344)"}},{"before":"a52224600c976602ed3ebacfd8517a1990b8f2d4","after":"d8789c168dfe7678d19ace2b193e29213bd78932","ref":"refs/heads/master","pushedAt":"2024-03-28T20:13:13.000Z","pushType":"push","commitsCount":48,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"have regwithvalue return the register","shortMessageHtmlLink":"have regwithvalue return the register"}},{"before":"d728eba03066ae9e57df1046af67429d3fd7f5c5","after":"a52224600c976602ed3ebacfd8517a1990b8f2d4","ref":"refs/heads/master","pushedAt":"2024-03-13T02:49:55.000Z","pushType":"push","commitsCount":71,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"make blake3 input scope","shortMessageHtmlLink":"make blake3 input scope"}},{"before":null,"after":"fb40dcf8668af10eb6bc59c5455e2f705c61532d","ref":"refs/heads/issue_24417","pushedAt":"2024-02-28T04:40:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla issue 24417: fds_bits named incorrectly on FreeBSD\n\nThis fixes the name of fds_bits on FreeBSD - or actually, on all of the\nBSDs listed in select.d. The way that they're declared in C is with a\nmember named __fds_bits and then a #define for fds_bits. The D\ndeclarations managed to copy the struct declarations with the __ name\nbut didn't add aliases to correspond to the #defines.\n\nThe standard name is fds_bits and is what any user code should be using,\nso I don't see any reason to have the __ versions other than to avoid\nbreaking any code that used the __ versions, because that's what was\nthere. So, I fixed the names and added deprecated aliases for the old\nones.","shortMessageHtmlLink":"Fix bugzilla issue 24417: fds_bits named incorrectly on FreeBSD"}},{"before":"40b60f8f97415f930a5e88fae49a8b2ff23623cf","after":"d728eba03066ae9e57df1046af67429d3fd7f5c5","ref":"refs/heads/master","pushedAt":"2024-02-27T02:19:49.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Move mtype.Type.sarrayOf to typesem.d","shortMessageHtmlLink":"Move mtype.Type.sarrayOf to typesem.d"}},{"before":"17293af33a82f76f871c2756193630304dd84fe7","after":"40b60f8f97415f930a5e88fae49a8b2ff23623cf","ref":"refs/heads/master","pushedAt":"2024-02-26T22:26:34.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix Bugzilla issue 24404 - ifaddrs union fields incorrectly name on Linux. (#16233)\n\nYou can see the correct declaration for ifaddrs on Linux here:\r\n\r\nhttps://www.man7.org/linux/man-pages/man3/getifaddrs.3.html\r\n\r\nWhat the fields are supposed to be named is ifa_broadaddr and\r\nifa_dstaddr. However, because Linux defines them using a union, it gives\r\nthem different names within the union - ifu_broadaddr and ifu_dstaddr -\r\nand then #defines the proper names to access the union names.\r\n\r\nWhat druntime did was use the union names - and then incorrectly name\r\nifu_dtsaddr as if_dstaddr. So, it was doubly wrong for that field.\r\n\r\nThe two approaches that we could take here would be to either\r\n\r\n1. Turn the union into a type so that we could have an ifa_ifu field to\r\n allow accessing the ifu_* names that way - as is technically possible\r\n in C - and then add wrapper functions with the ifa_* names (since we\r\n couldn't use an alias to access members of the union member\r\n variable).\r\n\r\n2. Just rename the fields to ifa_* and ignore the fact that you can\r\n technically access the ifu_* fields via the union name in C.\r\n\r\nThe simpler approach is #2, so that's what this commit does. I'm pretty\r\nsure that the ability to access the ifu_* fields via the union name is\r\njust an implementation detail - particularly since other platforms just\r\ndeclare the ifa_* names without using a union at all.\r\n\r\nEither way, deprecated aliases are provided so that existing code\r\ndoesn't break.","shortMessageHtmlLink":"Fix Bugzilla issue 24404 - ifaddrs union fields incorrectly name on L…"}},{"before":"077cfdff2a84d3c9784b0be379473fe3f91074d8","after":"17293af33a82f76f871c2756193630304dd84fe7","ref":"refs/heads/master","pushedAt":"2024-02-24T09:33:47.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Add core.sys.freebsd.net.if_.\n\nhttps://cgit.freebsd.org/src/tree/sys/net/if.h?h=stable/14","shortMessageHtmlLink":"Add core.sys.freebsd.net.if_."}},{"before":null,"after":"c7754461012869125c63f45cb9cbb841bf103823","ref":"refs/heads/freebsd_net_if","pushedAt":"2024-02-24T08:11:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Add core.sys.freebsd.net.if_.\n\nhttps://cgit.freebsd.org/src/tree/sys/net/if.h?h=stable/14","shortMessageHtmlLink":"Add core.sys.freebsd.net.if_."}},{"before":null,"after":"634ce7cc54577168e93a2bbbb461bc2a12943ddd","ref":"refs/heads/issue_24408","pushedAt":"2024-02-24T03:51:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix bugzilla issue 24408 - Remove duplicate AF_INET6 declaration.\n\nIt's already declared in core.sys.posix.sys.socket, so declaring it in\ncore.sys.linux.sys.socket causes a conflict in code that imports both.\n\nThe Linux-specific module publicly imports the POSIX one, so the\ndeclaration in the Linux one is unnecessary. This removes it.","shortMessageHtmlLink":"Fix bugzilla issue 24408 - Remove duplicate AF_INET6 declaration."}},{"before":null,"after":"12120311224ddcbd80c40bcca8af7d12f315d761","ref":"refs/heads/issue_24405","pushedAt":"2024-02-23T08:30:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix Bugzilla issue 24405 - FreeBSD's ifaddrs missing the ifa_broadaddr field.\n\nFreeBSD #defines ifa_broadaddr to be ifa_dstaddr, and I missed it when\nadding it to druntime. So, this adds the appropriate alias.\n\nIt does feel a bit weird to list the alias before the field that it's\naliasing, but that's the order presented in the man page, so it's what I\ndid.","shortMessageHtmlLink":"Fix Bugzilla issue 24405 - FreeBSD's ifaddrs missing the ifa_broadadd…"}},{"before":"d6dff1f42061d7f185a0fc982c1dfbfe45379b0c","after":"4bd1cf8ecf3e5d94cf05e8bf6178b3388ddf2d6e","ref":"refs/heads/issue_24404","pushedAt":"2024-02-23T07:51:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmdavis","name":"Jonathan M Davis","path":"/jmdavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/579956?s=80&v=4"},"commit":{"message":"Fix Bugzilla issue 24404 - ifaddrs union fields incorrectly name on Linux.\n\nYou can see the correct declaration for ifaddrs on Linux here:\n\nhttps://www.man7.org/linux/man-pages/man3/getifaddrs.3.html\n\nWhat the fields are supposed to be named is ifa_broadaddr and\nifa_dstaddr. However, because Linux defines them using a union, it gives\nthem different names within the union - ifu_broadaddr and ifu_dstaddr -\nand then #defines the proper names to access the union names.\n\nWhat druntime did was use the union names - and then incorrectly name\nifu_dtsaddr as if_dstaddr. So, it was doubly wrong for that field.\n\nThe two approaches that we could take here would be to either\n\n1. Turn the union into a type so that we could have an ifa_ifu field to\n allow accessing the ifu_* names that way - as is technically possible\n in C - and then add wrapper functions with the ifa_* names (since we\n couldn't use an alias to access members of the union member\n variable).\n\n2. Just rename the fields to ifa_* and ignore the fact that you can\n technically access the ifu_* fields via the union name in C.\n\nThe simpler approach is #2, so that's what this commit does. I'm pretty\nsure that the ability to access the ifu_* fields via the union name is\njust an implementation detail - particularly since other platforms just\ndeclare the ifa_* names without using a union at all.\n\nEither way, deprecated aliases are provided so that existing code\ndoesn't break.","shortMessageHtmlLink":"Fix Bugzilla issue 24404 - ifaddrs union fields incorrectly name on L…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNVQxNjoxNDowMi4wMDAwMDBazwAAAAS2w5d7","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0yM1QwNzo1MTowOS4wMDAwMDBazwAAAAQC0KaP"}},"title":"Activity · jmdavis/dmd"}