[Issue 11792] Investigate migrating to a meta repo
https://issues.dlang.org/show_bug.cgi?id=11792 --- Comment #8 from Dicebot pub...@dicebot.lv --- I am of very bad opinion of subtree approach (single physical repo). It would destroy natural separation of areas of interest for pull request reviewers (need to add dmd/phobos labels manually for each PR), make commit history so noisy it is impossible to follow for few specific projects, make impossible to finely tune team permissions to different repos. Only benefit is reducing amount of repositories under D-Programming-Language organization. I don't see it a problem that needs solution, not at this cost at least. --
[Issue 11792] Investigate migrating to a meta repo
https://issues.dlang.org/show_bug.cgi?id=11792 --- Comment #7 from Vladimir Panteleev thecybersha...@gmail.com --- On the forum, I posted ([1]): I would like to add that, however, it might be worth considering moving everything to a single repository at the same time as the switch to DDMD. DDMD by itself is a big change, so aggregating other changes with big wolkflow impact (but net benefit in the long run) would make sense. This would also be a good time to replace makefiles with a D build tool. Here are some thoughts on how this can be done: - Create the repo with an experimental status ahead of time, so that it can be extensively tested. - Decide on a date on which the switch will occur. - Add comment to all open pull requests some time before, that the changes will need to be rebased on the new repository. - Use git-subtree to add the existing repositories to the new unified repository. - Add a commit to the existing repositories which replaces the README (and possibly all content) with a link to the new repository. - Move the old repositories to a new organization (e.g. D-Programming-Language-Old) so they don't clutter D-P-L organization's project list. TODO: Check if GitHub creates redirects (we need redirects). Although the change is big, the gain is also big: we will have one single repository using a self-hosted compiler and build system. By doing these all together, we will need to break things only once. [1]: http://forum.dlang.org/post/fjpppbranpbikojvk...@forum.dlang.org --
[Issue 11792] Investigate migrating to a meta repo
https://issues.dlang.org/show_bug.cgi?id=11792 --- Comment #9 from Vladimir Panteleev thecybersha...@gmail.com --- (In reply to Dicebot from comment #8) It would destroy natural separation of areas of interest for pull request reviewers (need to add dmd/phobos labels manually for each PR), It would not be hard to write a bot to apply these labels automatically. make commit history so noisy it is impossible to follow for few specific projects, It is easy in git to see the log of a specific directory, git log phobos or gitk phobos. make impossible to finely tune team permissions to different repos. Valid argument, but I'm not sure how important it is. Only benefit is reducing amount of repositories under D-Programming-Language organization. I don't see it a problem that needs solution, not at this cost at least. There are more benefits: - Code which affects multiple projects can be done as one commit. - Makefiles and build scripts no longer need to assume (but allow overriding) location of other subcomponents - their location will be guaranteed. This means they can be simplified. - It will be easy to build D at a specific point in its development. - It will no longer be necessary to use specialized tools such as Digger to bisect regressions. --
[Issue 14134] Free of large array does not work
https://issues.dlang.org/show_bug.cgi?id=14134 Martin Nowak c...@dawg.eu changed: What|Removed |Added CC||c...@dawg.eu --- Comment #9 from Martin Nowak c...@dawg.eu --- (In reply to Rainer Schuetze from comment #8) Other notes: - The current version also works for memory allocated outside the GC, it just doesn't free the memory. That should be fixed, we don't want to promote delete arr[] as a method to destroy a slice. There is no good way to destroy an array except delete. foreach (ref el; ary) destroy(el); --
[Issue 14134] Free of large array does not work
https://issues.dlang.org/show_bug.cgi?id=14134 --- Comment #10 from Martin Nowak c...@dawg.eu --- I think the right semantic is to destroy+free the complete array iff it's GC managed. --
[Issue 11792] Investigate migrating to a meta repo
https://issues.dlang.org/show_bug.cgi?id=11792 --- Comment #10 from Dicebot pub...@dicebot.lv --- It is easy in git to see the log of a specific directory, git log phobos or gitk phobos I was referring to following on GitHub, not exploring plain git history. For example I am currently subscribed to all changes in Phobos but not in DMD and druntime - combined together it is simply too much stuff to me to follow. - Makefiles and build scripts no longer need to assume (but allow overriding) location of other subcomponents - their location will be guaranteed. This means they can be simplified. This is addressed by my proposed scheme (with submodules) too. As for the other points - you propose to improve experience for very small group of developers (those who need to do history bisection and/or do changes on multiple repos at once) at the cost of harming experience for more casual one (anyone who does D development / reviewing or simply wants to know what happens in more details). I think having specialized tool (Digger) for specialized tasks is more appropriate that having specialized tool (tagging bot + custom activity feed filters) for common tasks. --
[Issue 14139] GIT HEAD : PI now has wrong value
https://issues.dlang.org/show_bug.cgi?id=14139 Martin Nowak c...@dawg.eu changed: What|Removed |Added CC||c...@dawg.eu --- Comment #6 from Martin Nowak c...@dawg.eu --- Any insight on why LTO mess this up? --
[Issue 14169] Template symbol visibility regression
https://issues.dlang.org/show_bug.cgi?id=14169 --- Comment #3 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/22815447bb4fbf59f4ca7d3a1ddef79f604053f5 fix Issue 14169 - Template symbol visibility regression https://github.com/D-Programming-Language/dmd/commit/5c6810e1df995e72020b8af6b394d29846e063ac Merge pull request #4405 from 9rnsr/fix14169 [REG2.067a] Issue 14169 - Template symbol visibility regression --
[Issue 14169] Template symbol visibility regression
https://issues.dlang.org/show_bug.cgi?id=14169 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 14149] Bad std.algorithm error messages
https://issues.dlang.org/show_bug.cgi?id=14149 hst...@quickfur.ath.cx changed: What|Removed |Added CC||hst...@quickfur.ath.cx --
[Issue 9998] RefCounted is impure
https://issues.dlang.org/show_bug.cgi?id=9998 Ulrich Küttler kuett...@gmail.com changed: What|Removed |Added CC||kuett...@gmail.com --
[Issue 13983] RefCounted needs to be pure, @safe, nothrow
https://issues.dlang.org/show_bug.cgi?id=13983 Ulrich Küttler kuett...@gmail.com changed: What|Removed |Added CC||kuett...@gmail.com --
[Issue 14159] Bug in ctRegex - Error: found 'else' instead of statement
https://issues.dlang.org/show_bug.cgi?id=14159 --- Comment #2 from Merlin Meyer-Mitchell db...@m3.sent.com --- (In reply to e10s from comment #1) *** This issue has been marked as a duplicate of issue 12105 *** Thanks! --
[Issue 13972] Make scoped, Unique, and RefCounted @nogc
https://issues.dlang.org/show_bug.cgi?id=13972 Ulrich Küttler kuett...@gmail.com changed: What|Removed |Added CC||kuett...@gmail.com --
[Issue 13972] Make scoped, Unique, and RefCounted @nogc
https://issues.dlang.org/show_bug.cgi?id=13972 bearophile_h...@eml.cc changed: What|Removed |Added CC||bearophile_h...@eml.cc --- Comment #2 from bearophile_h...@eml.cc --- (In reply to Kapps from comment #1) if(foo is null) { static ex = cast(immutable)(new Exception(foo is null)); throw ex; I think no cast is needed: static immutable ex = new Exception(foo is null); and does not help in situations where the exception text includes additional information from runtime arguments. The space for the extra information could be allocated statically, and pasted inside the buffer. But this makes the function not pure. Also I'm not sure what kind of impact this would have if called and thrown in a catch block. In presence of exception chaining how are immutable exceptions working? --
[Issue 14097] root/async.c: use after free
https://issues.dlang.org/show_bug.cgi?id=14097 Ali Cehreli acehr...@yahoo.com changed: What|Removed |Added CC||acehr...@yahoo.com Summary|root/async.c: free after|root/async.c: use after |use |free --
[Issue 14155] [REG2.066] A defect in DIP29: the return value of some pure functions cannot be unique pointer
https://issues.dlang.org/show_bug.cgi?id=14155 --- Comment #5 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/e17d26719eb61a30518c997718c14e38bb2912da fix Issue 14155 - A defect in DIP29: the return value of some pure functions cannot be unique pointer https://github.com/D-Programming-Language/dmd/commit/50e1b75c44dca2a47bcded4e639e5775792ae517 Merge pull request #4397 from 9rnsr/fix14155 [REG2.066] Issue 14155 - A defect in DIP29: the return value of some pure functions cannot be unique pointer --
[Issue 14141] `pure` member function returning qualified member result is implicitly convertible to unqualified
https://issues.dlang.org/show_bug.cgi?id=14141 github-bugzi...@puremagic.com changed: What|Removed |Added Resolution|DUPLICATE |FIXED --
[Issue 13640] [REG2.066] can break immutability with inout
https://issues.dlang.org/show_bug.cgi?id=13640 --- Comment #3 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/283aa4add2868dc7424c5232f18bbcfc392ed26a Use constConv in CallExp::implicitConvTo() and NewExp::implicitConvTo() As same as the fix for issue 13640 (commit: 7cf3baf8f0c75a7e3641786af4dfe0441e3918d6). --
[Issue 14155] [REG2.066] A defect in DIP29: the return value of some pure functions cannot be unique pointer
https://issues.dlang.org/show_bug.cgi?id=14155 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 14160] [REG2.066] mutable global data access is wrongly accepted in pure function
https://issues.dlang.org/show_bug.cgi?id=14160 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 14160] [REG2.066] mutable global data access is wrongly accepted in pure function
https://issues.dlang.org/show_bug.cgi?id=14160 --- Comment #3 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/b6e8ef68dda3f306c70be659a69efa1db897798f fix Issue 14160 - mutable global data access is wrongly accepted in pure function https://github.com/D-Programming-Language/dmd/commit/abc775b2a8a08e07193d54dcbfc75b1bb34ee16d Merge pull request #4398 from 9rnsr/fix14160 [REG2.066] Issue 14160 - mutable global data access is wrongly accepted in pure function --
[Issue 14141] `pure` member function returning qualified member result is implicitly convertible to unqualified
https://issues.dlang.org/show_bug.cgi?id=14141 --- Comment #2 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/f42159ac11325fcfa61134feef2da6ae9701b6e4 fix Issue 14141 - `pure` member function returning qualified member result is implicitly convertible to unqualified --
[Issue 14170] New: `this` compiles in a static context
https://issues.dlang.org/show_bug.cgi?id=14170 Issue ID: 14170 Summary: `this` compiles in a static context Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: DMD Assignee: nob...@puremagic.com Reporter: slavo5...@yahoo.com This code compiles and executes: --- import std.stdio; struct StaticRegister { static private uint _value; @property static uint value() { return _value; } @property static void value(uint v) { _value = v; } static alias value this; // (1) static void test() { writeln(this.stringof); // (2) writeln(typeof(this).stringof); // (3) writeln(this.value); // (4) } } void main(string[] s) { // works due to `alias value this` StaticRegister = 1; StaticRegister.test(); } --- I suspect (1), (2), (3), and (4) should all generate compiler errors. `static alias value this` and `alias value this` seem to be semantically the same thing, but I can't be sure. I attempted to understand the meaning of `this` in a static context on the forum... http://forum.dlang.org/post/xcnwuneclebuyqcjb...@forum.dlang.org http://forum.dlang.org/post/ubatudbwrakkwzulp...@forum.dlang.org ...but I was unable to elicit a definitive answer. One member of the community believes (3) is valid, and the rest are not. If that is the case, it needs to be documented in the language specification at http://dlang.org/expression.html#this. At the moment the spec is silent on the subject. Issue #380 is a D1 bug that was fixed to specifically allow `this` in a static context, but I'm not sure if it applies to D2. --
[Issue 14097] root/async.c: use after free
https://issues.dlang.org/show_bug.cgi?id=14097 ZombineDev petar.p.ki...@gmail.com changed: What|Removed |Added CC||petar.p.ki...@gmail.com --- Comment #4 from ZombineDev petar.p.ki...@gmail.com --- (In reply to Ketmar Dark from comment #3) Now that `AsyncRead::dispose()` waits for all operations on all files to complete, it should not be possible to `free()` `aw`, before `startthread()` completes. Even if this somehow happens accessing `aw-filesdim` or using a cached version of it is irrelevant, because inside the loop we access the `aw-files` member, which would also lead to the same problem. --
[Issue 14171] Mark non-allocating GC functions as @nogc
https://issues.dlang.org/show_bug.cgi?id=14171 weaselcat r9shacklef...@gmail.com changed: What|Removed |Added CC||r9shacklef...@gmail.com --
[Issue 14171] New: Mark non-allocating GC functions as @nogc
https://issues.dlang.org/show_bug.cgi?id=14171 Issue ID: 14171 Summary: Mark non-allocating GC functions as @nogc Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: r9shacklef...@gmail.com Many functions in the GC don't actually allocate, but are useful for building tools that help facilitate working around the GC - i.e, AddRange is vital for manually managed memory that holds references to GC allocated memory. I don't think there's a reason these shouldn't be @nogc but I could easily be wrong. --
[Issue 14156] buffer overflow in LibELF
https://issues.dlang.org/show_bug.cgi?id=14156 --- Comment #5 from Sobirari Muhomori dfj1es...@sneakemail.com --- If sprintf is provided through a macro wrapper, it can infer buffer size of the first argument, as it's known statically. See if this circumvents protection: --- char* dest = h-user_id; len = sprintf(dest, %u, om-user_id); --- --
[Issue 14156] buffer overflow in LibELF
https://issues.dlang.org/show_bug.cgi?id=14156 --- Comment #6 from Guillaume Chatelet chatelet.guilla...@gmail.com --- Thx Sobira, it makes sense. I have a pending proposal which will write the buffer at once and solve the 'memory corruption'. https://github.com/D-Programming-Language/dmd/pull/4402 --
[Issue 14169] Template symbol visibility regression
https://issues.dlang.org/show_bug.cgi?id=14169 --- Comment #1 from Kenji Hara k.hara...@gmail.com --- Introduced in: https://github.com/D-Programming-Language/dmd/pull/4104 --
[Issue 14169] Template symbol visibility regression
https://issues.dlang.org/show_bug.cgi?id=14169 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull Hardware|x86_64 |All OS|Linux |All --- Comment #2 from Kenji Hara k.hara...@gmail.com --- https://github.com/D-Programming-Language/dmd/pull/4405 --
[Issue 13775] [REG2.067a] Broken explicit casting of dynamic array slices of known size to static array of different type
https://issues.dlang.org/show_bug.cgi?id=13775 Mathias LANG pro.mathias.l...@gmail.com changed: What|Removed |Added Status|RESOLVED|REOPENED CC||pro.mathias.l...@gmail.com Resolution|FIXED |--- --- Comment #14 from Mathias LANG pro.mathias.l...@gmail.com --- Vibe.d is suffering from it as well: case AF_INET6: ubyte[16] ip = addr_ip6.sin6_addr.s6_addr; auto ret = appender!string(); ret.reserve(40); foreach (i; 0 .. 8) { if (i 0) ret.put(':'); ret.formattedWrite(%x, bigEndianToNative!ushort(cast(ubyte[2])ip[i*2 .. i*2+2])); } return ret.data; However this code still fails with a recent compiler: source/vibe/core/net.d(181): Error: cannot cast expression ip[cast(ulong)(i * 2)..cast(ulong)(i * 2 + 2)] of type ubyte[] to ubyte[2] Tested with v2.067-devel-932e0a5 (From today, Feb 12). --
[Issue 9110] Escaping reference error from lazy variadic parameters
https://issues.dlang.org/show_bug.cgi?id=9110 monkeywork...@hotmail.com changed: What|Removed |Added CC||monkeywork...@hotmail.com --- Comment #1 from monkeywork...@hotmail.com --- I've also just ran into this error. void test(lazy string[] s...) { } void main(string[] argv) { //Error: escaping reference to local test(asdf, fdsa, afsd, sdaf); } --
[Issue 14156] buffer overflow in LibELF
https://issues.dlang.org/show_bug.cgi?id=14156 --- Comment #7 from Sobirari Muhomori dfj1es...@sneakemail.com --- There's also a declaration like this: --- template size_t size int sprintf( char (buffer)[size], const char *format [, argument] ... ); // C++ only --- --