[Issue 18115] [REG2.078-b1] case where && is not shortcut anymore in CTFE
https://issues.dlang.org/show_bug.cgi?id=18115 Basile-z changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=22646 --
[Issue 22646] [REG2.099] CT bounds checking ignores short circuit evaluation
https://issues.dlang.org/show_bug.cgi?id=22646 Basile-z changed: What|Removed |Added CC||b2.t...@gmx.com See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=18115 --- Comment #2 from Basile-z --- you might be interested by the explanations in the comments of https://issues.dlang.org/show_bug.cgi?id=18115. This was identical issue but with &&. --
[Issue 22648] [std.variant.Variant] Incorrectly written unittests
https://issues.dlang.org/show_bug.cgi?id=22648 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Dlang Bot --- dlang/phobos pull request #8351 "Fix Issue 22648 - [std.variant.Variant] Incorrectly written unittests" was merged into master: - 597d8e7b921833cdf041e0eaefc2806a0ff7f960 by João Lourenço: std.variant: Fix incorrectly written unittets Fix Issue 22648 - [std.variant.Variant] Incorrectly written unittests Signed-off-by: João Lourenço https://github.com/dlang/phobos/pull/8351 --
[Issue 22648] [std.variant.Variant] Incorrectly written unittests
https://issues.dlang.org/show_bug.cgi?id=22648 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #1 from Dlang Bot --- @iK4tsu created dlang/phobos pull request #8351 "Fix Issue 22648 - [std.variant.Variant] Incorrectly written unittests" fixing this issue: - std.variant: Fix incorrectly written unittets Fix Issue 22648 - [std.variant.Variant] Incorrectly written unittests Signed-off-by: João Lourenço https://github.com/dlang/phobos/pull/8351 --
[Issue 22648] [std.variant.Variant] Incorrectly written unittests
https://issues.dlang.org/show_bug.cgi?id=22648 João Lourenço changed: What|Removed |Added CC||jlourenco5...@gmail.com --
[Issue 22648] New: [std.variant.Variant] Incorrectly written unittests
https://issues.dlang.org/show_bug.cgi?id=22648 Issue ID: 22648 Summary: [std.variant.Variant] Incorrectly written unittests Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: trivial Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: jlourenco5...@gmail.com The unittests written from the line 2055 to 2058 inclusive are wrong. Their logic is correct but they're passing by the wrong reasons. Currently, they fail because of the compile-time error "Error: has no effect". The result of the comparison is discarded and that results in an error, failing the '__traits(compiles, ...)' tests. This is unittest in question: ``` @system unittest { // check comparisons incompatible with AllowedTypes Algebraic!int v = 2; assert(v == 2); assert(v < 3); static assert(!__traits(compiles, {v == long.max;})); static assert(!__traits(compiles, {v == null;})); static assert(!__traits(compiles, {v < long.max;})); static assert(!__traits(compiles, {v > null;})); } ``` To correctly write the test, the value should be explicitly discarded by using a `cast(void)` in the whole expression, or by returning the result either by adding a `return` or transforming the lambda in an inline lambda `() =>`; --
[Issue 22647] [std.variant.Variant] Cannot compare types compliant with null comparison with 'null'
https://issues.dlang.org/show_bug.cgi?id=22647 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #1 from Dlang Bot --- @iK4tsu created dlang/phobos pull request #8350 "Fix Issue 22647 - [std.variant.Variant] Cannot compare types compliant with null comparison with 'null'" fixing this issue: - std.variant: Add Variant unittests for 'null' comparisons Fix Issue #22647 - [std.variant.Variant] Cannot compare types compliant with null comparison with 'null' Signed-off-by: João Lourenço https://github.com/dlang/phobos/pull/8350 --
[Issue 22647] [std.variant.Variant] Cannot compare types compliant with null comparison with 'null'
https://issues.dlang.org/show_bug.cgi?id=22647 João Lourenço changed: What|Removed |Added Severity|enhancement |minor --
[Issue 22647] New: [std.variant.Variant] Cannot compare types compliant with null comparison with 'null'
https://issues.dlang.org/show_bug.cgi?id=22647 Issue ID: 22647 Summary: [std.variant.Variant] Cannot compare types compliant with null comparison with 'null' Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: jlourenco5...@gmail.com std.variant.Variant should behave the same as the core language. Some types are comparable with null (arrays and pointers). If the Variant's current type is one of those, then comparing with null should be allowed. ``` import std; void main() { int* ptr; Variant a = ptr; // is of type int* assert(ptr == null); // true assert(a == null); // false } ``` --
[Issue 22647] [std.variant.Variant] Cannot compare types compliant with null comparison with 'null'
https://issues.dlang.org/show_bug.cgi?id=22647 João Lourenço changed: What|Removed |Added CC||jlourenco5...@gmail.com --
[Issue 22646] [REG2.099] CT bounds checking ignores short circuit evaluation
https://issues.dlang.org/show_bug.cgi?id=22646 --- Comment #1 from Vladimir Panteleev --- Worth mentioning that this code also did not work in 2.078.0 through 2.080.0. Broken in: https://github.com/dlang/dmd/pull/7225 Fixed in: https://github.com/dlang/dmd/pull/8261 (and again broken in https://github.com/dlang/dmd/pull/13169) --
[Issue 22646] New: [REG2.099] CT bounds checking ignores short circuit evaluation
https://issues.dlang.org/show_bug.cgi?id=22646 Issue ID: 22646 Summary: [REG2.099] CT bounds checking ignores short circuit evaluation Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: rejects-valid Severity: regression Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: dlang-bugzi...@thecybershadow.net / test.d / static template Bug(string name) { enum bool ok = name.length < 3 || name[0..3] != "pad"; } pragma(msg, Bug!"x".ok); pragma(msg, Bug!"foo".ok); pragma(msg, Bug!"pad".ok); pragma(msg, Bug!"pad123".ok); // This now fails with: test.d(3): Error: in slice `"x"[0 .. 3]`, upper bound is greater than array length `1` test.d(6): Error: template instance `test.Bug!"x"` error instantiating test.d(6):while evaluating `pragma(msg, Bug!"x".ok)` Introduced in https://github.com/dlang/dmd/pull/13169 --
[Issue 22645] Linking fails with fatal error LNK1318: Unexpected PDB-error: OK (0) ""
https://issues.dlang.org/show_bug.cgi?id=22645 --- Comment #4 from simon.vanber...@yahoo.de --- If I use the link command that -v gives me, the linker fails because it can't find phobos64.lib. If I fix the arguments by giving the full path, at first it linked successfully, repeatedly. I then ran dmd once. It failed. I then ran link.exe again. It now also failed, repeatedly. --
[Issue 21457] std.functional.partial ignores function overloads
https://issues.dlang.org/show_bug.cgi?id=21457 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #3 from Dlang Bot --- dlang/phobos pull request #8347 "Fix Issue 21457 - std.functional.partial ignores function overloads" was merged into master: - 437b07980e55fa9945f7eabc3c4991ece6cc9cc8 by wolframw: Fix Issue 21457 - std.functional.partial ignores function overloads https://github.com/dlang/phobos/pull/8347 --
[Issue 22645] Linking fails with fatal error LNK1318: Unexpected PDB-error: OK (0) ""
https://issues.dlang.org/show_bug.cgi?id=22645 --- Comment #3 from moonlightsenti...@disroot.org --- (In reply to simon.vanbernem from comment #2) > If you think there is value to it I can continue to try to find a minimal > example or send you the projects, but I personally hoped that inspecting the > way PDB errors are handled might already yield something. A minimal example would definitly help. Note that the error messages are issued by LINK.exe (provided by VS), not dmd itself. Does LINK.exe fail reliably when you rerun the linker manually? (Use `-v` to get the command line issued by dmd) --
[Issue 22645] Linking fails with fatal error LNK1318: Unexpected PDB-error: OK (0) ""
https://issues.dlang.org/show_bug.cgi?id=22645 --- Comment #2 from simon.vanber...@yahoo.de --- I can try to create a minimal example, but tbh I don't have a lot of hope of this reproducing: Just using the same flags on a simple program doesn't repro. Having different objs in the error on each run seems like there is some parallelism involved, and the fact that it worked (sometimes) after a version upgrade (and now also 2 times after using ldc for a while 2) sounds like the compiler is caching bad state that causes the issue. So even if I sent you the entire project, what are the chances of having an issue with parallelism and caching behaviour repro for other people? It doesn't even repro for me for the same code all the time. I hoped the error could be diagnosed somewhat easily without a repro, because the PDB-Error here is 0 and the error message is just empty. That sounds to me like some part of the linker uses something other than this error code to diagnose an error, but that something is not enough information to determine there is an error, so the linker exits even though there is no PDB-error. If you think there is value to it I can continue to try to find a minimal example or send you the projects, but I personally hoped that inspecting the way PDB errors are handled might already yield something. --
[Issue 22645] Linking fails with fatal error LNK1318: Unexpected PDB-error: OK (0) ""
https://issues.dlang.org/show_bug.cgi?id=22645 moonlightsenti...@disroot.org changed: What|Removed |Added Summary|Compilation fails with |Linking fails with fatal |fatal error LNK1318:|error LNK1318: Unexpected |Unexpected PDB-error: OK|PDB-error: OK (0) "" |(0) "" | --
[Issue 22645] Compilation fails with fatal error LNK1318: Unexpected PDB-error: OK (0) ""
https://issues.dlang.org/show_bug.cgi?id=22645 moonlightsenti...@disroot.org changed: What|Removed |Added Keywords||backend CC||moonlightsentinel@disroot.o ||rg --- Comment #1 from moonlightsenti...@disroot.org --- Could you provide the source files or ideally a reduced example? It'll be hard to diagnose the problem solely based on the error message. --
[Issue 22645] New: Compilation fails with fatal error LNK1318: Unexpected PDB-error: OK (0) ""
https://issues.dlang.org/show_bug.cgi?id=22645 Issue ID: 22645 Summary: Compilation fails with fatal error LNK1318: Unexpected PDB-error: OK (0) "" Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: blocker Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: simon.vanber...@yahoo.de When compiling my project using DMD v2.098.0 or DMD v2.098.1 on Windows 10 64-bit, this error just appeared: : fatal error LNK1318: Unerwarteter PDB-Fehler: OK (0) "". Error: linker exited with status 1318 "Unerwarteter PDB-Fehler" means "Unexpected PDB-error". The next 3 attempts to compile yielded the following errors: libucrtd.lib(lseek.obj) : fatal error LNK1318: Unerwarteter PDB-Fehler: OK (0) "". Error: linker exited with status 1318 libucrtd.lib(initcon.obj) : fatal error LNK1318: Unerwarteter PDB-Fehler: OK (0) "". Error: linker exited with status 1318 libucrtd.lib(round.obj) : fatal error LNK1318: Unerwarteter PDB-Fehler: OK (0) "". Error: linker exited with status 1318 The obj file reported seems to pretty much be picked at random. In the first error message there simply was no lib/obj mentioned. This issue started appearing today, without installing any updates (to any program at all). The PC wasn't even shut down since yesterday, when everything worked fine. Restarting doesn't help, removing all obj files and doing a full rebuild also doesn't help (I have obj files built by MSVC that also get linked). I was on v2.098.0 before, then upgraded in hopes of fixing the issue. The very first compile after upgrading to v2.098.1 worked, every consecutive compile after that is broken again. The command line call to dmd looks like this: dmd -m64 -I=source -i -w -preview=fieldwise user32.lib kernel32.lib d3d11.lib d3dcompiler.lib dxguid.lib ole32.lib advapi32.lib Bcrypt.lib Iphlpapi.lib Ws2_32.lib dsound.lib -g -debug -check=assert=on -check=bounds=on -check=switch=on -checkaction=C -mscrtlib=LIBCMTD source/main.d build/platform.obj build/imgui.obj build/box2d.obj build/nfd.obj -of=build/spaced.exe I have switched to ldc in the meantime to be able to compile. --