[Issue 17341] Partial initialization of static array should not be allowed
https://issues.dlang.org/show_bug.cgi?id=17341 b2.t...@gmx.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #2 from b2.t...@gmx.com --- feature that can be an issue. feel free to change "wontfix" to "invalid". --
[Issue 17373] New: traits getOverloads + multiple interface inheritance only see one of the interfaces' overloads
https://issues.dlang.org/show_bug.cgi?id=17373 Issue ID: 17373 Summary: traits getOverloads + multiple interface inheritance only see one of the interfaces' overloads Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: mathias.l...@sociomantic.com Tested with 2.074 / master as of today: ``` interface Foo { void visit (int); } interface Bar { void visit (double); } interface FooBar : Foo, Bar {} pragma(msg, __traits(getOverloads, FooBar, "visit").length); ``` Outputs `1LU`, which is incorrect as both will be part of the overload set. This breaks reflection code which tries to auto-instantiate interfaces (like Blackhole / whitehole). --
[Issue 17372] function 'std.algorithm.searching.skipOver!(Result, dstring).skipOver' is not nothrow
https://issues.dlang.org/show_bug.cgi?id=17372 Jack Stoufferchanged: What|Removed |Added Status|NEW |RESOLVED CC||j...@jackstouffer.com Resolution|--- |FIXED --
[Issue 17372] function 'std.algorithm.searching.skipOver!(Result, dstring).skipOver' is not nothrow
https://issues.dlang.org/show_bug.cgi?id=17372 --- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/27330e76b72393ebb611176ea5600c94e447f067 issue# 17372: icmp chokes on a lambda that can throw. This removes some inappropriate attributes from a fullCasedCmp. It's templated, and their applicability depends on the template argument, so they should be inferred. And the unit tests for icmp which test the attributes (including @safe) pass without the attributes on fullCasedCmp, so I have no idea why any of them (particularly @trusted) were ever there. https://github.com/dlang/phobos/commit/0b1f13fd517cf8b7bb26042e07cd920480215e74 Merge pull request #5361 from jmdavis/issue_17372 issue# 17372: icmp chokes on a lambda that can throw. merged-on-behalf-of: Jack Stouffer--
[Issue 17372] function 'std.algorithm.searching.skipOver!(Result, dstring).skipOver' is not nothrow
https://issues.dlang.org/show_bug.cgi?id=17372 --- Comment #1 from Jonathan M Davis--- https://github.com/dlang/phobos/pull/5361 --
[Issue 17372] New: function 'std.algorithm.searching.skipOver!(Result, dstring).skipOver' is not nothrow
https://issues.dlang.org/show_bug.cgi?id=17372 Issue ID: 17372 Summary: function 'std.algorithm.searching.skipOver!(Result, dstring).skipOver' is not nothrow Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: issues.dl...@jmdavisprog.com This code fails to compile import std.algorithm; import std.range; import std.uni; void main() { auto a = [["foo bar"], ["baz"]].map!(line => line.joiner(" ")).array.sort!((a, b) => icmp(a, b) < 0); } and gives this error: /usr/include/dmd/std/uni.d(7082): Error: function 'std.algorithm.searching.skipOver!(Result, dstring).skipOver' is not nothrow /usr/include/dmd/std/uni.d(7055): Error: nothrow function 'std.uni.fullCasedCmp!(Result).fullCasedCmp' may throw /usr/include/dmd/std/uni.d(7136): Error: template instance std.uni.fullCasedCmp!(Result) error instantiating qd.d(7):instantiated from here: icmp!(Result, Result) /usr/include/dmd/std/algorithm/sorting.d(1851):instantiated from here: __lambda2!(Result, Result) qd.d(7):instantiated from here: sort!((a, b) => icmp(a, b) < 0, cast(SwapStrategy)0, Result[]) /usr/include/dmd/std/algorithm/sorting.d(1863): Error: static assert "Invalid predicate passed to sort: __lambda2" qd.d(7):instantiated from here: sort!((a, b) => icmp(a, b) < 0, cast(SwapStrategy)0, Result[]) --
[Issue 15724] CTFE internal error: determining classinfo
https://issues.dlang.org/show_bug.cgi?id=15724 ag0ae...@gmail.com changed: What|Removed |Added Keywords||ice CC||ag0ae...@gmail.com --- Comment #1 from ag0ae...@gmail.com --- Reduced test case: enum e = typeid(null) == typeid(long); Error message: /home/d/dmd2/linux/bin64/../../src/druntime/import/object.d(147): Error: CTFE internal error: determining classinfo test.d(1):called from here: opEquals(typeid(typeof(null)), typeid(long)) --
[Issue 17371] New: [REG 2.074.0] di generation broken for anonymous classes
https://issues.dlang.org/show_bug.cgi?id=17371 Issue ID: 17371 Summary: [REG 2.074.0] di generation broken for anonymous classes Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: regression Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: d...@me.com Generating a .di file with 2.074.0 from the following code generates a broken file: interface Foo {} class Bar { this() { auto foo = new class () Foo {}; } } The generated result is: interface Foo { } class Bar { this() { auto foo = new class class __anonclass1 : Foo { } ; } } The generated code for the anonymous class is clearly broken. With 2.073.1 the following code is generated: interface Foo { } class Bar { this(); } I suspect that generating the code for an anonymous class has always been broken, as the following example shows, generated with 2.073.1: Original code: interface Foo { } const foo = new class () Foo {}; Generated code: interface Foo { } const foo = new class class __anonclass1 : Foo { } ; Not sure if this is technically a regression but it broke my code switching to 2.074.0. --
[Issue 17370] New: [DIP1000] Escaping scope pointers possible via struct GC allocation
https://issues.dlang.org/show_bug.cgi?id=17370 Issue ID: 17370 Summary: [DIP1000] Escaping scope pointers possible via struct GC allocation Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: safe Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: mathias.l...@sociomantic.com The following compiles and runs with 2.074.0 and v2.075.0-devel-5cfc8d982 (latest master): ``` void main () @safe { int* ptr = fwd(); assert(ptr !is null); } int* fwd () @safe { int i; return new Struct().oops; // Leaving out `new` correctly detects escaping } struct Struct { int* oops; } ``` --
[Issue 15724] CTFE internal error: determining classinfo
https://issues.dlang.org/show_bug.cgi?id=15724 calexchanged: What|Removed |Added CC||calex+bugzilla-mail@aristow ||eb.net --
[Issue 15723] GC memory leakage depending on source code size
https://issues.dlang.org/show_bug.cgi?id=15723 calexchanged: What|Removed |Added CC||calex+bugzilla-mail@aristow ||eb.net --