[Issue 18040] rdmd --exclude= --include= should allow passing in modules (not just packages)
https://issues.dlang.org/show_bug.cgi?id=18040 Jonathan Marler changed: What|Removed |Added CC||johnnymar...@gmail.com --- Comment #1 from Jonathan Marler --- I think this will be fixed with: https://github.com/dlang/tools/pull/271 --
[Issue 18042] rdmd ignores --exclude when -deps is provided
https://issues.dlang.org/show_bug.cgi?id=18042 Jonathan Marler changed: What|Removed |Added CC||johnnymar...@gmail.com --- Comment #1 from Jonathan Marler --- Just wanted to make a note that we should retest this bug once this PR is integrated. https://github.com/dlang/tools/pull/271 --
[Issue 18079] rdmd does not discover all dependencies
https://issues.dlang.org/show_bug.cgi?id=18079 --- Comment #1 from Jonathan Marler --- This bug should be fixed with this PR. https://github.com/dlang/tools/pull/271 --
[Issue 18218] New: __traits(isDeprecated, creal) should return true
https://issues.dlang.org/show_bug.cgi?id=18218 Issue ID: 18218 Summary: __traits(isDeprecated, creal) should return true Product: D Version: D2 Hardware: x86_64 OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: greensunn...@gmail.com --
[Issue 15206] ICE on optimized build, tym = x1d Internal error: backend\cgxmm.c 547
https://issues.dlang.org/show_bug.cgi?id=15206 --- Comment #4 from briancsch...@gmail.com --- It seems that the problem is in the allocreg function called from loaddata. I added some debugging printfs before and after calls to `allocreg` and I see the following: before: tym = 0x1d, forregs = 0x02, reg = BP|SI|DI|R10|R12|R15|XMM0|XMM1|XMM3|XMM4|XMM5|XMM6|XMM7|PSW|NOREG|RMload after: tym = 0x1d, forregs = 0x02, reg = AX|SP It seems that the `forregs` variable (The `pretregs` parameter to allocreg) is not getting modified properly. It still has the value 0x2, which matches the XMMREGS mask even though `allocreg` has correctly removed all the XMM registers from the list of valid registers in the `reg` variable. Because this `forregs` variable is not masked out by XMMREGS, there is a call to `xmmload` even though `xmmload` doesn't support `tym` values of 0x1d. --
[Issue 13742] undefined reference to __coverage
https://issues.dlang.org/show_bug.cgi?id=13742 Martin Nowak changed: What|Removed |Added Keywords||pull --- Comment #7 from Martin Nowak --- https://github.com/dlang/dmd/pull/7654 --
[Issue 18212] Usage of cfloat,cdouble,cfloat,ifloat,idouble,ireal shouldn't trigger an error in deprecated code
https://issues.dlang.org/show_bug.cgi?id=18212 --- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/028e362d9564a7a4bdb35ac6f8a3e5843587141d Fix Issue 18212 - Usage of cfloat,cdouble,cfloat,ifloat,idouble,ireal shouldn't trigger an error in deprecated code https://github.com/dlang/dmd/commit/254c9634f8498c3d7eb38f37de23b14f1c509e36 Merge pull request #7647 from wilzbach/fix-18212 Fix Issue 18212 - Usage of cfloat,cdouble,cfloat,ifloat,idouble,ireal shouldn't trigger an error in deprecated code merged-on-behalf-of: Iain Buclaw --
[Issue 18212] Usage of cfloat,cdouble,cfloat,ifloat,idouble,ireal shouldn't trigger an error in deprecated code
https://issues.dlang.org/show_bug.cgi?id=18212 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 18217] Don't repeatedly call unpredictableSeed to initialize rndGen
https://issues.dlang.org/show_bug.cgi?id=18217 --- Comment #1 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/befc9896d0f699163e6c252771ef3f4234b48f3b Fix Issue 18217: Don't repeatedly call unpredictableSeed to initialize rndGen Explanation: https://github.com/dlang/phobos/pull/5788#discussion_r146110307 https://github.com/dlang/phobos/commit/6fe220f6f2cf6d475c881e9105c6821961281789 Merge pull request #6021 from n8sh/rndGen-seeding Fix Issue 18217: Don't repeatedly call unpredictableSeed to initialize rndGen merged-on-behalf-of: Sebastian Wilzbach --
[Issue 18217] Don't repeatedly call unpredictableSeed to initialize rndGen
https://issues.dlang.org/show_bug.cgi?id=18217 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 15206] ICE on optimized build, tym = x1d Internal error: backend\cgxmm.c 547
https://issues.dlang.org/show_bug.cgi?id=15206 hst...@quickfur.ath.cx changed: What|Removed |Added CC||hst...@quickfur.ath.cx Severity|normal |critical --- Comment #3 from hst...@quickfur.ath.cx --- All ICEs should be critical. --
[Issue 10930] std.array.replace cannot simple replace an element in array
https://issues.dlang.org/show_bug.cgi?id=10930 Seb changed: What|Removed |Added Keywords||pull --- Comment #8 from Seb --- PR https://github.com/dlang/phobos/pull/6022 --
[Issue 18215] std.array.replace throws a range violation if the from range is longer than the array
https://issues.dlang.org/show_bug.cgi?id=18215 --- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/7c0dab8d121a34ae73f467cf7aa9be9d306b4fea Fix Issue 18215 - std.array.replace throws a range violation if the from range is longer than the array https://github.com/dlang/phobos/commit/aeb7b9b69e06f280c269721c427f3242e5507562 Merge pull request #6017 from wilzbach/fix-18215 --
[Issue 18217] New: Don't repeatedly call unpredictableSeed to initialize rndGen
https://issues.dlang.org/show_bug.cgi?id=18217 Issue ID: 18217 Summary: Don't repeatedly call unpredictableSeed to initialize rndGen Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: n8sh.second...@hotmail.com The offending code in std.random: ``` static if (isSeedable!(Random, typeof(map!((a) => unpredictableSeed)(repeat(0) result.seed(map!((a) => unpredictableSeed)(repeat(0))); ``` Having this code in Phobos leads others to mistakenly copy it since Phobos is generally a model of good D programming practices. Calling unpredictableSeed just once would be faster and would give a better result. See comment for an explanation: https://github.com/dlang/phobos/pull/5788#discussion_r146110307 --
[Issue 18215] std.array.replace throws a range violation if the from range is longer than the array
https://issues.dlang.org/show_bug.cgi?id=18215 --- Comment #1 from github-bugzi...@puremagic.com --- Commits pushed to stable at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/7c0dab8d121a34ae73f467cf7aa9be9d306b4fea Fix Issue 18215 - std.array.replace throws a range violation if the from range is longer than the array https://github.com/dlang/phobos/commit/aeb7b9b69e06f280c269721c427f3242e5507562 Merge pull request #6017 from wilzbach/fix-18215 Fix Issue 18215 - std.array.replace throws a range violation if the from range is longer than the array merged-on-behalf-of: H. S. Teoh --
[Issue 18215] std.array.replace throws a range violation if the from range is longer than the array
https://issues.dlang.org/show_bug.cgi?id=18215 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 10930] std.array.replace cannot simple replace an element in array
https://issues.dlang.org/show_bug.cgi?id=10930 Seb changed: What|Removed |Added CC||greensunn...@gmail.com --- Comment #7 from Seb --- This applied on top of https://github.com/dlang/phobos/pull/6017 will make it work: diff --git a/std/array.d b/std/array.d index 3a44612cb..207b1280d 100644 --- a/std/array.d +++ b/std/array.d @@ -2120,21 +2120,21 @@ if (isInputRange!RoR && $(REF map, std,algorithm,iteration) which can act as a lazy replace +/ E[] replace(E, R1, R2)(E[] subject, R1 from, R2 to) -if (isDynamicArray!(E[]) && isForwardRange!R1 && isForwardRange!R2 -&& (hasLength!R2 || isSomeString!R2)) +if (isDynamicArray!(E[])) { import std.algorithm.searching : find; import std.range : dropOne; -if (from.empty) return subject; +static if (isInputRange!R1) +if (from.empty) return subject; -auto balance = find(subject, from.save); +auto balance = find(subject, from); if (balance.empty) return subject; auto app = appender!(E[])(); app.put(subject[0 .. subject.length - balance.length]); -app.put(to.save); +app.put(to); // replacing an element in an array is different to a range replacement static if (is(Unqual!E : Unqual!R1)) replaceInto(app, balance.dropOne, from, to); @@ -2158,6 +2158,11 @@ if (isDynamicArray!(E[]) && isForwardRange!R1 && isForwardRange!R2 assert([3, 3, 4, 3].replace([3, 3], [1, 1, 1]) == [1, 1, 1, 4, 3]); } +@safe unittest +{ +assert([0, 1, 2].replace(1, 4) == [0, 4, 2]); +} + // https://issues.dlang.org/show_bug.cgi?id=18215 @safe unittest { @@ -2181,28 +2186,29 @@ if (isDynamicArray!(E[]) && isForwardRange!R1 && isForwardRange!R2 /// ditto void replaceInto(E, Sink, R1, R2)(Sink sink, E[] subject, R1 from, R2 to) -if (isOutputRange!(Sink, E) && isDynamicArray!(E[]) -&& isForwardRange!R1 && isForwardRange!R2 -&& (hasLength!R2 || isSomeString!R2)) +if (isOutputRange!(Sink, E) && isDynamicArray!(E[])) { import std.algorithm.searching : find; import std.range : dropOne; -if (from.empty) +static if (isInputRange!R1) { -sink.put(subject); -return; +if (from.empty) +{ +sink.put(subject); +return; +} } for (;;) { -auto balance = find(subject, from.save); +auto balance = find(subject, from); if (balance.empty) { sink.put(subject); break; } sink.put(subject[0 .. subject.length - balance.length]); -sink.put(to.save); +sink.put(to); // replacing an element in an array is different to a range replacement static if (is(Unqual!E : Unqual!R1)) subject = balance.dropOne; Of course constraints need be set, but to be fair currently there aren't any for this --
[Issue 18209] std.uni.byGrapheme is not usable in CTFE
https://issues.dlang.org/show_bug.cgi?id=18209 --- Comment #3 from Jack Stouffer --- (In reply to Jack Stouffer from comment #2) > Apparently this isn't possible. > > There are two ways of fixing this > > 1. remove the small string optimization from Grapheme > 2. have byGrapheme return a specialized type of Grapheme that doesn't have > SSO Or 3. Create a special function byGraphemeCTFE which is a range of CTFEGraphemes. That way there's no performance regression --
[Issue 18209] std.uni.byGrapheme is not usable in CTFE
https://issues.dlang.org/show_bug.cgi?id=18209 --- Comment #2 from Jack Stouffer --- (In reply to Jack Stouffer from comment #1) > Pretty sure there's a way to change a struct's layout if it's being used in > compile time. All that needs to be done is just bring the fields out of the > union when used in CTFE. Apparently this isn't possible. There are two ways of fixing this 1. remove the small string optimization from Grapheme 2. have byGrapheme return a specialized type of Grapheme that doesn't have SSO --
[Issue 7054] format() aligns using code units instead of graphemes
https://issues.dlang.org/show_bug.cgi?id=7054 Basile B. changed: What|Removed |Added Keywords||pull --- Comment #14 from Basile B. --- pull: https://github.com/dlang/phobos/pull/6008 --
[Issue 7054] format() aligns using code units instead of graphemes
https://issues.dlang.org/show_bug.cgi?id=7054 Basile B. changed: What|Removed |Added CC||b2.t...@gmx.com Summary|std.format.formattedWrite |format() aligns using code |uses code units count as|units instead of graphemes |width instead of characters | |count | --
[Issue 18205] Format string with width specification doesn't work with multibyte characters
https://issues.dlang.org/show_bug.cgi?id=18205 Basile B. changed: What|Removed |Added Depends on|18209 | Referenced Issues: https://issues.dlang.org/show_bug.cgi?id=18209 [Issue 18209] std.uni.byGrapheme is not usable in CTFE --
[Issue 18209] std.uni.byGrapheme is not usable in CTFE
https://issues.dlang.org/show_bug.cgi?id=18209 Basile B. changed: What|Removed |Added Blocks|18205 | Referenced Issues: https://issues.dlang.org/show_bug.cgi?id=18205 [Issue 18205] Format string with width specification doesn't work with multibyte characters --