[Issue 17050] Inconsistent overload resolution depending on member values of Rvalue struct objects
https://issues.dlang.org/show_bug.cgi?id=17050 --- Comment #1 from Ali Cehreli --- Related forum thread: http://forum.dlang.org/post/o4447c$21lf$1...@digitalmars.com Ali --
[Issue 17050] New: Inconsistent overload resolution depending on member values of Rvalue struct objects
https://issues.dlang.org/show_bug.cgi?id=17050 Issue ID: 17050 Summary: Inconsistent overload resolution depending on member values of Rvalue struct objects Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: acehr...@yahoo.com Because no member nor struct type is different below, all calls are expected to be resolved to the same foo overload. However, that's not the case: struct S { const(int)[] c; } int foo(S s) { return 1; } int foo(immutable(S) s) { return 2; } void main() { // This call is resolved to foo(S): const(int)[] arr; assert(foo(const(S)(arr)) == 1); // These are unexpectedly resolved to foo(immutable(S)): assert(foo(const(S)()) == 1);// FAILS assert(foo(const(S)(null)) == 1);// FAILS } Ali --
[Issue 16980] [REG2.072.0] wrong interface called
https://issues.dlang.org/show_bug.cgi?id=16980 --- Comment #6 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/bbd22804313fa37fe2848b7f3bc45f83f4ea8db8 fix Issue 16980 - wrong interface called https://github.com/dlang/dmd/commit/6b294ff205772ef2ca0dfc3df90dc0b16c2a2772 Merge pull request #6383 from MartinNowak/fix16980 --
[Issue 8838] Slicing static arrays should be considered unsafe (@system)
https://issues.dlang.org/show_bug.cgi?id=8838 Piotr Szturmaj changed: What|Removed |Added CC|psztur...@tlen.pl | --
[Issue 17008] use ldc/gdc intrinsics in std.math
https://issues.dlang.org/show_bug.cgi?id=17008 Iain Buclaw changed: What|Removed |Added CC||ibuc...@gdcproject.org --- Comment #2 from Iain Buclaw --- Use core.math to access intrinsics or core.stdc.math to access builtins C functions. --
[Issue 17049] [scope] class references are not escape checked like pointers
https://issues.dlang.org/show_bug.cgi?id=17049 Martin Nowak changed: What|Removed |Added Keywords||safe --
[Issue 17029] [Reg 2.072] scope variable may not be returned
https://issues.dlang.org/show_bug.cgi?id=17029 --- Comment #6 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/c8d9e33ea2f7337b40866f15f37fbec058262eed Merge pull request #6363 from WalterBright/fix17029 --
[Issue 8838] Slicing static arrays should be considered unsafe (@system)
https://issues.dlang.org/show_bug.cgi?id=8838 Martin Nowak changed: What|Removed |Added Status|RESOLVED|REOPENED CC||c...@dawg.eu Resolution|FIXED |--- --
[Issue 14238] DIP25: escape checks can be circumvented with delegate
https://issues.dlang.org/show_bug.cgi?id=14238 --- Comment #4 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/7c3e47a20e30672653c6330edbe22f2181a1f9c2 fix Issue 14238 - DIP25: escape checks can be circumvented with delegate --
[Issue 14238] DIP25: escape checks can be circumvented with delegate
https://issues.dlang.org/show_bug.cgi?id=14238 Martin Nowak changed: What|Removed |Added Status|RESOLVED|REOPENED CC||c...@dawg.eu Resolution|FIXED |--- --
[Issue 15544] Escaping fields to a heap delegate must be disallowed in @safe code
https://issues.dlang.org/show_bug.cgi?id=15544 Martin Nowak changed: What|Removed |Added Status|RESOLVED|REOPENED CC||c...@dawg.eu Resolution|FIXED |--- --
[Issue 8838] Slicing static arrays should be considered unsafe (@system)
https://issues.dlang.org/show_bug.cgi?id=8838 --- Comment #19 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/66187b5c1e1554cd6e417e3c762285d0234bb982 fix Issue 8838 - Slicing static arrays should be considered unsafe (@system) --
[Issue 15544] Escaping fields to a heap delegate must be disallowed in @safe code
https://issues.dlang.org/show_bug.cgi?id=15544 --- Comment #3 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/e61378a715e01e58365df753985d1178d5ba4bd4 fix Issue 15544 - Escaping fields to a heap delegate must be disallowed in @safe code --
[Issue 16747] [Reg 2.072] Cannot have stack allocated classes in @safe code
https://issues.dlang.org/show_bug.cgi?id=16747 --- Comment #8 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/01170277958c8e1ee67ead8fb112305f0ef220c5 Merge pull request #6279 from WalterBright/fix16747 --
[Issue 17049] [scope] class references are not escape checked like pointers
https://issues.dlang.org/show_bug.cgi?id=17049 Martin Nowak changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All Severity|enhancement |normal --
[Issue 17049] New: [scope] class references are not escape checked like pointers
https://issues.dlang.org/show_bug.cgi?id=17049 Issue ID: 17049 Summary: [scope] class references are not escape checked like pointers Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: c...@dawg.eu cat > bug.d << CODE version (all) // broken for class refs class P; else alias P = int*; // works for int pointers struct S { @safe P get() return scope; } P escape() @safe { S s; P p = s.get(); return p; } CODE dmd -c -o- bug -transition=safe -de Should fail to compile and report `scope variable p may not be returned`. Tested with v2.073.0-scope-e46873f (dmd-scope-2016-12-27 preview build). --
[Issue 16288] splitter() that doesn't eat sentinels
https://issues.dlang.org/show_bug.cgi?id=16288 --- Comment #7 from greenify --- > Doesn't implement desired behaviour. Fair enough - I tried to make it similar to `splitter` in `std.regex`, but it seems that even this didn't work out: "a..b.c".splitter!(Yes.keepSeparators)(regex("[.]")).writeln > ["a", ".", "", ".", "b", ".", "c"] "a..b.c".splitter!(Yes.keepSeparators)('.').writeln; > ["a", ".", ".", "b", ".", "c"] >From the example you posted, you want it to yield sth. like this, right? > ["a", ".", ".b", ".c"] And there's another common use case - though that one is simply splitter.filter!`a.empty`: > ["a", "b", "c"] However, at least the existing behavior for No.keepSeparators is the same: "a..b.c".splitter!(No.keepSeparators)(regex("[.]")).writeln > ["a", "", "b", "c"] "a..b.c".splitter!(No.keepSeparators)('.').writeln; > ["a", "", "b", "c"] --