[Issue 18796] std.algorithm.substitute asserts on empty range
https://issues.dlang.org/show_bug.cgi?id=18796 --- Comment #2 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/d95bc60dadc454cc6143971b14a2fbf4e149cb7b Fix Issue 18796 - Made substitute with multiple range elements correctly recognize empty base ranges --
[Issue 18796] std.algorithm.substitute asserts on empty range
https://issues.dlang.org/show_bug.cgi?id=18796 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 19402] New: bitshift with long shift amount results in int instead of long
https://issues.dlang.org/show_bug.cgi?id=19402 Issue ID: 19402 Summary: bitshift with long shift amount results in int instead of long Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: dkor...@live.nl https://dlang.org/spec/expression.html#shift_expressions "If the operands are of integral types, they undergo the Usual Arithmetic Conversions, and then are brought to a common type using the Usual Arithmetic Conversions." https://dlang.org/spec/type.html#usual-arithmetic-conversions "If both are signed or both are unsigned, the smaller type is converted to the larger." Yet: ``` long x = 1L; auto a = 1 << x; ``` Compiles to: (-vcg-ast) ``` long x = 1L; int a = 1 << cast(int)x; ``` I expected this: ``` long x = 1L; long a = 1L << x; ``` Which caused a nasty bug in my program. --
[Issue 16976] Implicit conversion from ulong to int in foreach_reverse
https://issues.dlang.org/show_bug.cgi?id=16976 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 16976] Implicit conversion from ulong to int in foreach_reverse
https://issues.dlang.org/show_bug.cgi?id=16976 --- Comment #3 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/1003fe69843de58238f2b7823ddd1f22eeb7bc0b Fix issue 16976 - Do not convert blindly the size of an iterable https://github.com/dlang/dmd/commit/0c1fdaf085e59b691b9591490ac9a5504524c48d Merge pull request #8941 from dlang/thewilsonator-patch-3 Fix issue 16976 - Do not convert blindly the size of an iterable merged-on-behalf-of: Nicholas Wilson --
[Issue 12883] implicit conversion of struct to mutable via alias this
https://issues.dlang.org/show_bug.cgi?id=12883 RazvanN changed: What|Removed |Added Status|RESOLVED|REOPENED CC||razvan.nitu1...@gmail.com Resolution|INVALID |--- --- Comment #3 from RazvanN --- This is a valid issue. Alias this should be employed if a copy constructor is not defined. --
[Issue 12885] const union wrongly converts implicitly to mutable
https://issues.dlang.org/show_bug.cgi?id=12885 Issue 12885 depends on issue 12883, which changed state. Issue 12883 Summary: implicit conversion of struct to mutable via alias this https://issues.dlang.org/show_bug.cgi?id=12883 What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID |--- --
[Issue 18327] std.random.XorshiftEngine is parameterized by UIntType but only works with uint
https://issues.dlang.org/show_bug.cgi?id=18327 --- Comment #1 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/c99a1855f612ac476aa9318a17efc31a97b325b7 Fix Issue 18327 - std.random.XorshiftEngine is parameterized by UIntType but only works with uint Also: * Add ability to specify shift directions. * Allow arbitrary XorshiftEngine sizes instead of predefined list only. * Except when array is small, use index to make speed of `popFront` independent of array size. https://github.com/dlang/phobos/commit/ac2c7c627deaa137dd72bd043370a9f85d2afb62 Merge pull request #6424 from n8sh/xorshift-18327 Fix Issue 18327 - std.random.XorshiftEngine is parameterized by UIntType but only works with uint merged-on-behalf-of: Nicholas Wilson --
[Issue 19403] New: std.string.stripLeft on char array could be @nogc nothrow
https://issues.dlang.org/show_bug.cgi?id=19403 Issue ID: 19403 Summary: std.string.stripLeft on char array could be @nogc nothrow 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 std.string.stripLeft on char array could be @nogc nothrow by using std.utf.decode!(UseReplacementDchar.yes) instead of string front/popFront. --
[Issue 19403] Make std.string.stripLeft on char array @nogc nothrow
https://issues.dlang.org/show_bug.cgi?id=19403 Nathan S. changed: What|Removed |Added Summary|std.string.stripLeft on |Make std.string.stripLeft |char array could be @nogc |on char array @nogc nothrow |nothrow | --
[Issue 19403] Make std.string.stripLeft on char array @nogc nothrow
https://issues.dlang.org/show_bug.cgi?id=19403 --- Comment #1 from Nathan S. --- Pull request: https://github.com/dlang/phobos/pull/6769 --
[Issue 19404] New: Optimize std.string.stripRight
https://issues.dlang.org/show_bug.cgi?id=19404 Issue ID: 19404 Summary: Optimize std.string.stripRight 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 `stripLeft` can entirely avoid decoding for wchar arrays and can benefit from an ASCII fast path for char arrays. --
[Issue 19404] Optimize std.string.stripRight
https://issues.dlang.org/show_bug.cgi?id=19404 --- Comment #1 from Nathan S. --- Pull request: https://github.com/dlang/phobos/pull/6770 --
[Issue 19404] Optimize std.string.stripRight
https://issues.dlang.org/show_bug.cgi?id=19404 --- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/c380684bdb8c3a29cad78f8499a600c6a74a1e5b Fix Issue 19404 - Optimize std.string.stripRight https://github.com/dlang/phobos/commit/329f891caf7a409f7f301dce1425c946de3a07ae Merge pull request #6770 from n8sh/issue-19404 Fix Issue 19404 - Optimize std.string.stripRight --
[Issue 18778] std.format: Positional arguments do not work as expected with nesting
https://issues.dlang.org/show_bug.cgi?id=18778 --- Comment #1 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/7ec06c07dbc3060a9f10c2b04165fc4db0ae9a21 Fix issue 18778 https://github.com/dlang/phobos/commit/7e351e17fab4186913802256479f2070b57c6285 Merge pull request #6464 from Hackerpilot/issue-18778 Fix issue 18778 --
[Issue 19405] New: Improve backwards UTF-8 decoding in stripRight
https://issues.dlang.org/show_bug.cgi?id=19405 Issue ID: 19405 Summary: Improve backwards UTF-8 decoding in stripRight 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 backwards UTF-8 decoding in stripRight can be substantially sped up. With the improvements it also becomes faster than foreach_reverse(dchar c; s) for strings, so we can use it for strings and make them `@nogc` nothrow. --