[Issue 19946] In betterC filling an array with a non-zero value fails for types of size > 1 due to missing _memset16/_memset32/etc.
https://issues.dlang.org/show_bug.cgi?id=19946 --- Comment #21 from Walter Bright --- More progress: https://github.com/dlang/dmd/pull/14788 --
[Issue 23601] New: [std.format] acceptedSpecs do match baseOfSpec
https://issues.dlang.org/show_bug.cgi?id=23601 Issue ID: 23601 Summary: [std.format] acceptedSpecs do match baseOfSpec Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: jlourenco5...@gmail.com ```d import std; void main() { int i; "12.34".formattedRead!"%f"(i); } ``` This code sample compiles incorrectly to then fail at run time. The validation fails because it validates 'i' as a valid argument for the used spec. Any of [FfGgAaEe] counts as a valid base for any integral argument (int, bool, char, ...) and when checking acceptedSpecs at run time they do not match. It seems to me that baseOfSpec is the one in the wrong here, but the real issue is using the writing format to validate the reading format since 'int' can format into a 'float' but not the other way around. Moreover, 'a' is missing from acceptedSpecs, and all the upper case versions of spec are allowed by the 'write' version but not the 'read' alternative, which also leads to the run-time error `not supported with formatted read` instead of a compile-time assertion. Formatted read should validate the format specs with its own implementation if it differs this much from the 'write' version. --
[Issue 19649] Misleading error message for duplicate constraints
https://issues.dlang.org/show_bug.cgi?id=19649 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Dlang Bot --- dlang/dmd pull request #14779 "Fix Issue 19649 - Misleading error for duplicate constraints" was merged into stable: - 88e7839bd5ade60530be89a2806ef1bbab7faa4c by Nick Treleaven: Fix Issue 19649 - Misleading error for duplicate constraints https://github.com/dlang/dmd/pull/14779 --
[Issue 23600] [std.format.read] formattedRead static asserts with Tuple and compile time format string
https://issues.dlang.org/show_bug.cgi?id=23600 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #1 from Dlang Bot --- @iK4tsu updated dlang/phobos pull request #8661 "Fix: [std.format.read] formattedRead static asserts with Tuple and compile time format string" fixing this issue: - fix(format.read): formattedRead incorrectly static asserts with Tuple and compile-time format string This method supports std.typecons.Tuple, however, when passing the format string at compile-time, the format validation does not correctly account for the std.typecons.Tuple's types and instead validates the std.typecons.Tuple itself leading to a static assert. This change now adds support for this feature when used with compile-time format strings. Fix Issue #23600 Signed-off-by: João Lourenço https://github.com/dlang/phobos/pull/8661 --
[Issue 23600] New: [std.format.read] formattedRead static asserts with Tuple and compile time format string
https://issues.dlang.org/show_bug.cgi?id=23600 Issue ID: 23600 Summary: [std.format.read] formattedRead static asserts with Tuple and compile time format string Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: jlourenco5...@gmail.com ```d import std; void main() { Tuple!(int, float) t; "1 2.34".formattedRead!"%d %f"(t); } ``` This code sample static asserts but correctly runs when passing the format string at run time. This happens because the format check is performed on the Tuple type instead of its Types. --
[Issue 18026] Stack overflow in ddmd/dtemplate.d:6241, TemplateInstance::needsCodegen()
https://issues.dlang.org/show_bug.cgi?id=18026 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #21 from Dlang Bot --- @ibuclaw created dlang/dmd pull request #14787 "fix Issue 18026 - Stack overflow in dmd/dtemplate.d:6248, TemplateInstance::needsCodegen()" fixing this issue: - fix Issue 18026 - Stack overflow in dmd/dtemplate.d:6248, TemplateInstance::needsCodegen() https://github.com/dlang/dmd/pull/14787 --
[Issue 10819] Implicit conversion error assigning one SortedRange to another when a function literal has been used
https://issues.dlang.org/show_bug.cgi?id=10819 RazvanN changed: What|Removed |Added CC||razvan.nitu1...@gmail.com Component|dmd |phobos --- Comment #11 from RazvanN --- We now have traits(isSame) that can perform a primitive form of lambda function comparison. This can now be implemented in the opAssign of SortedRange so it's not a compiler issue anymore. Changing component to phobos. --
[Issue 10815] Allow access of a symbol in a template instance if instantiator module has access to the symbol
https://issues.dlang.org/show_bug.cgi?id=10815 RazvanN changed: What|Removed |Added Status|NEW |RESOLVED CC||razvan.nitu1...@gmail.com Resolution|--- |WORKSFORME --- Comment #3 from RazvanN --- I cannot reproduce this. It seems that it has been fixed in git master. --
[Issue 10810] wrong forward reference error when using return type deduction and a cyclic call flow
https://issues.dlang.org/show_bug.cgi?id=10810 RazvanN changed: What|Removed |Added CC||razvan.nitu1...@gmail.com --- Comment #11 from RazvanN --- I would vote to close this as a WONTFIX. Yeah, this simple case could be fixed by adding a special case, but as Timon mentioned it's really hard to correctly implement the general case. --
[Issue 10794] Unsynchronized access to data of syncronized class
https://issues.dlang.org/show_bug.cgi?id=10794 RazvanN changed: What|Removed |Added Status|NEW |RESOLVED CC||razvan.nitu1...@gmail.com Resolution|--- |WORKSFORME --- Comment #1 from RazvanN --- I cannot reproduce this. I am getting: test.d(15): Error: function `test.sneaky(out int bar)` is not callable using argument types `(shared(int))` test.d(15):cannot pass argument `this.bar` of type `shared(int)` to parameter `out int bar` Which is correct. --
[Issue 10787] static ~this attributes position
https://issues.dlang.org/show_bug.cgi?id=10787 RazvanN changed: What|Removed |Added Status|REOPENED|RESOLVED CC||razvan.nitu1...@gmail.com Resolution|--- |FIXED --- Comment #6 from RazvanN --- Fixed by: https://github.com/dlang/dmd/pull/3612 --
[Issue 10725] DMD can't output Hangul(Korean alphbet) (codepage 949(hangul))
https://issues.dlang.org/show_bug.cgi?id=10725 RazvanN changed: What|Removed |Added Status|NEW |RESOLVED CC||razvan.nitu1...@gmail.com Resolution|--- |INVALID --
[Issue 23596] override deprecated of deprecated base class could work
https://issues.dlang.org/show_bug.cgi?id=23596 RazvanN changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --
[Issue 23596] override deprecated of deprecated base class could work
https://issues.dlang.org/show_bug.cgi?id=23596 Adam D. Ruppe changed: What|Removed |Added Status|NEW |ASSIGNED --- Comment #2 from Adam D. Ruppe --- oh nice, then already fixed somehow since the previous release. --
[Issue 23598] Another nasty forward reference bug
https://issues.dlang.org/show_bug.cgi?id=23598 --- Comment #2 from Max Samukha --- (In reply to Iain Buclaw from comment #1) > Related to issue 23595, and a WIP patch I have in the works fixes this test > case too. Great! Thanks! --
[Issue 23598] Another nasty forward reference bug
https://issues.dlang.org/show_bug.cgi?id=23598 Iain Buclaw changed: What|Removed |Added CC||ibuc...@gdcproject.org See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=23595 --- Comment #1 from Iain Buclaw --- Related to issue 23595, and a WIP patch I have in the works fixes this test case too. --
[Issue 23595] Error: undefined identifier with static if and module/import order
https://issues.dlang.org/show_bug.cgi?id=23595 Iain Buclaw changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=23598 --
[Issue 23599] tuples not expanded in struct initializer
https://issues.dlang.org/show_bug.cgi?id=23599 Iain Buclaw changed: What|Removed |Added Priority|P1 |P3 --
[Issue 23597] .di files not compatible with -i
https://issues.dlang.org/show_bug.cgi?id=23597 Iain Buclaw changed: What|Removed |Added Priority|P1 |P4 --
[Issue 23517] dmd with -g flag fails to link on macOS 13.0.1 (i368) with unaligned pointer
https://issues.dlang.org/show_bug.cgi?id=23517 --- Comment #6 from Dlang Bot --- @ntrel updated dlang/dmd pull request #14779 "Fix Issue 19649 - Misleading error for duplicate constraints" mentioning this issue: - ci: Update cirrus macOS image to M1-based runners (#14772) * druntime/test: Force makefile to x86 on Apple ARM cpu (dmd does not support ARM) * ci: Update cirrus macOS image to M1-based runners * compiler/test/Makefile: Workaround issue 23517 https://github.com/dlang/dmd/pull/14779 --
[Issue 23596] override deprecated of deprecated base class could work
https://issues.dlang.org/show_bug.cgi?id=23596 RazvanN changed: What|Removed |Added CC||razvan.nitu1...@gmail.com --- Comment #1 from RazvanN --- > I can change the base class to remove `abstract` to make it work, but it > would be nice if there was a way to indicate it on the base but also > indicate it as handled on the child; I think an `override deprecated` ought > to suppress the warning and pass it on to the next user. > > > Probably related to : https://issues.dlang.org/show_bug.cgi?id=17586 If I understand correctly, you want this code: class Base { deprecated("Use newWay instead") abstract string oldWay(); abstract string newWay(); } class Child : Base { override string newWay() { return "yay"; } override deprecated string oldWay() { return newWay(); } } void main() { auto child = new Child(); } To compile gracefully? If that is the case, then this already happens in the latest master. --
[Issue 19649] Misleading error message for duplicate constraints
https://issues.dlang.org/show_bug.cgi?id=19649 Nick Treleaven changed: What|Removed |Added Severity|enhancement |minor --
[Issue 23599] New: tuples not expanded in struct initializer
https://issues.dlang.org/show_bug.cgi?id=23599 Issue ID: 23599 Summary: tuples not expanded in struct initializer Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: dkor...@live.nl Found while implementing named arguments: https://github.com/dlang/dmd/pull/14776#issuecomment-1369269255 ``` struct S { int x, y; } alias Seq(T...) = T; void f() { S s0 = S( Seq!(1, 2) ); // < works S s1 = { Seq!(1, 2) }; // < error } ``` > Error: cannot implicitly convert expression `tuple(1, 2)` of type `(int, > int)` to `int` --
[Issue 23598] New: Another nasty forward reference bug
https://issues.dlang.org/show_bug.cgi?id=23598 Issue ID: 23598 Summary: Another nasty forward reference bug Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: rejects-valid Severity: blocker Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: maxsamu...@gmail.com This one took me a long time to reduce. Marking it as a blocker, as I haven't found an acceptable workaround yet. alias aliases(a...) = a; template sort(alias f, a...) { static if (a.length > 0) // (1) { alias x = f!(a[1]); alias sort = a; } else alias sort = a; } alias SortedItems = sort!(isDependencyOf, Top, String); // (2) pragma (msg, "1: ", SortedItems); enum isDependencyOf(Item) = Item.DirectDependencies.length == 0; struct Top { alias DirectDependencies = aliases!(); } struct String { alias DirectDependencies = aliases!(); pragma(msg, "2: ", SortedItems); enum l = SortedItems.length; // (3) static assert(is(typeof(SortedItems.length) == size_t)); // (4) } Error: no property `length` for `sort!(isDependencyOf, Top, String)` of type `void` The SortedItems tuple at (2) is (Top, String), which is correct, but at (3) it is broken. However, at (4) it is correct again - the assert passes if (3) is commented out. This may have something to do with the 'static if' at (1), as the error goes away if the 'static if' and the 'else' branch are commented out. --