[Issue 22975] 3 cyclic aliases with meaningful overloads not caught [ice]
https://issues.dlang.org/show_bug.cgi?id=22975 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Dlang Bot --- dlang/dmd pull request #14744 "fix Issue 22975 - ICE: 3 cyclic aliases with meaningful overloads not caught" was merged into stable: - f105e264d66ccbe1618b4dd2c4817c2eff2d7f30 by Iain Buclaw: fix Issue 22975 - ICE: 3 cyclic aliases with meaningful overloads not caught https://github.com/dlang/dmd/pull/14744 --
[Issue 23593] core.thread: suspendAll doesn't wait for all if current thread has detached itself
https://issues.dlang.org/show_bug.cgi?id=23593 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Dlang Bot --- dlang/dmd pull request #14763 "core.thread.osthread: Don't subtract suspend counter if thread has detached itself" was merged into master: - 096b48eab47b9deca54fc48c96be77675eaca31b by Iain Buclaw: fix Issue 23593 - core.thread: suspendAll doesn't wait for all if current thread has detached itself. Don't subtract suspend counter if thread has detached itself. https://github.com/dlang/dmd/pull/14763 --
[Issue 23593] core.thread: suspendAll doesn't wait for all if current thread has detached itself
https://issues.dlang.org/show_bug.cgi?id=23593 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #1 from Dlang Bot --- @ibuclaw updated dlang/dmd pull request #14763 "core.thread.osthread: Don't subtract suspend counter if thread has detached itself" fixing this issue: - fix Issue 23593 - core.thread: suspendAll doesn't wait for all if current thread has detached itself. Don't subtract suspend counter if thread has detached itself. https://github.com/dlang/dmd/pull/14763 --
[Issue 23593] core.thread: suspendAll doesn't wait for all if current thread has detached itself
https://issues.dlang.org/show_bug.cgi?id=23593 Iain Buclaw changed: What|Removed |Added Priority|P1 |P3 --
[Issue 23593] New: core.thread: suspendAll doesn't wait for all if current thread has detached itself
https://issues.dlang.org/show_bug.cgi?id=23593 Issue ID: 23593 Summary: core.thread: suspendAll doesn't wait for all if current thread has detached itself Product: D Version: D2 Hardware: x86_64 OS: FreeBSD Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: ibuc...@gdcproject.org See the following for all the gory details. https://github.com/dlang/dmd/pull/14710 https://github.com/dlang/dmd/pull/14753 https://github.com/dlang/dmd/pull/14754 Essentially --- new Thread({ thread_detachThis(); GC.collect(); }).start(); --- The GC collection will call thread_suspendAll, and as the calling thread detached itself, the suspend counter will be `1` (instead of `2`) - however the counter is decremented before the entering the loop that calls sem_wait until all threads have signalled resume - meaning there's an implicit assumption that the current thread was counted - so it exits immediately rather than waiting for the main thread to respond. This means there's now a race condition between the detached thread running the GC and the main thread setting up the Thread.tstack/bstack values. If the GC scan wins, then the main thread stack won't have any live data marked. --
[Issue 15539] core.sys.windows.* tweaks for 2.070
https://issues.dlang.org/show_bug.cgi?id=15539 Iain Buclaw changed: What|Removed |Added Status|NEW |RESOLVED CC||ibuc...@gdcproject.org Resolution|--- |FIXED --- Comment #6 from Iain Buclaw --- Linked PR got merged https://github.com/D-Programming-Language/druntime/pull/1472 --
[Issue 22198] Compile time bounds checking for static arrays
https://issues.dlang.org/show_bug.cgi?id=22198 Iain Buclaw changed: What|Removed |Added Priority|P1 |P4 --
[Issue 23238] Cannot write a const Nullable(T, T nullValue)
https://issues.dlang.org/show_bug.cgi?id=23238 Iain Buclaw changed: What|Removed |Added Status|NEW |RESOLVED CC||ibuc...@gdcproject.org Resolution|--- |FIXED --- Comment #5 from Iain Buclaw --- PR got merged. https://github.com/dlang/phobos/pull/8545 --
[Issue 23548] [REG 2.098] C sources files have precedent over D modules in imports
https://issues.dlang.org/show_bug.cgi?id=23548 Iain Buclaw changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |DUPLICATE --- Comment #7 from Iain Buclaw --- *** This issue has been marked as a duplicate of issue 23547 *** --
[Issue 23547] [REG 2.101-master] C header files have precedent over D modules in imports
https://issues.dlang.org/show_bug.cgi?id=23547 --- Comment #3 from Iain Buclaw --- *** Issue 23548 has been marked as a duplicate of this issue. *** --
[Issue 23587] cast(void) doesn't work for noreturn
https://issues.dlang.org/show_bug.cgi?id=23587 --- Comment #6 from Iain Buclaw --- (In reply to artha from comment #5) > (In reply to RazvanN from comment #3) > > Why does it matter? The call to fun will never return so casting to void (or > > any other value) it actually a no-op. > > In this case it makes the compiler issue an unwanted warning. The cast is > supposed to tell the compiler I'm purposefully discarding the return value. > You're not wrong. cast(void) bottom is completely valid and the result should be void. --
[Issue 15939] GC.collect causes deadlock in multi-threaded environment
https://issues.dlang.org/show_bug.cgi?id=15939 Iain Buclaw changed: What|Removed |Added CC||bra...@puremagic.com --- Comment #31 from Iain Buclaw --- *** Issue 13416 has been marked as a duplicate of this issue. *** --
[Issue 13416] dead-lock in FreeBSD suspend handler
https://issues.dlang.org/show_bug.cgi?id=13416 Iain Buclaw changed: What|Removed |Added Status|REOPENED|RESOLVED CC||ibuc...@gdcproject.org Resolution|--- |DUPLICATE --- Comment #15 from Iain Buclaw --- Suspend signals changed to SIGRTMIN. https://github.com/dlang/druntime/pull/3617 *** This issue has been marked as a duplicate of issue 15939 *** --
[Issue 13625] AssertError@src/core/thread.d(1652)
https://issues.dlang.org/show_bug.cgi?id=13625 Iain Buclaw changed: What|Removed |Added Status|NEW |RESOLVED CC||ibuc...@gdcproject.org Resolution|--- |FIXED --- Comment #3 from Iain Buclaw --- See PR, which has been merged. https://github.com/dlang/druntime/pull/1016 --
[Issue 10351] [GC] GC deadlocks in thread_suspendAll()
https://issues.dlang.org/show_bug.cgi?id=10351 Iain Buclaw changed: What|Removed |Added Status|REOPENED|RESOLVED CC||ibuc...@gdcproject.org Resolution|--- |DUPLICATE --- Comment #7 from Iain Buclaw --- *** This issue has been marked as a duplicate of issue 15939 *** --
[Issue 15939] GC.collect causes deadlock in multi-threaded environment
https://issues.dlang.org/show_bug.cgi?id=15939 --- Comment #30 from Iain Buclaw --- *** Issue 10351 has been marked as a duplicate of this issue. *** --
[Issue 15939] GC.collect causes deadlock in multi-threaded environment
https://issues.dlang.org/show_bug.cgi?id=15939 Iain Buclaw changed: What|Removed |Added Status|NEW |RESOLVED CC||ibuc...@gdcproject.org Resolution|--- |FIXED --- Comment #29 from Iain Buclaw --- PR got merged. https://github.com/dlang/druntime/pull/3617 --
[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 Walter Bright changed: What|Removed |Added Severity|regression |blocker --- Comment #17 from Walter Bright --- This is not a regression, as it never worked. --
[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 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #16 from Dlang Bot --- @WalterBright created dlang/dmd pull request #14762 "fix Issue 19946 - In betterC filling an array with a non-zero value f…" fixing this issue: - fix Issue 19946 - In betterC filling an array with a non-zero value fails for types of size > 1 https://github.com/dlang/dmd/pull/14762 --
[Issue 21670] [REG 2.095] Public alias to private function triggers a deprecaton when called without parens
https://issues.dlang.org/show_bug.cgi?id=21670 Iain Buclaw changed: What|Removed |Added Summary|[REG 2.095] Public alias to |[REG 2.095] Public alias to |private function triggers a |private function triggers a |deprecaton |deprecaton when called ||without parens --
[Issue 21670] [REG 2.095] Public alias to private function triggers a deprecaton
https://issues.dlang.org/show_bug.cgi?id=21670 --- Comment #2 from Iain Buclaw --- *** Issue 23592 has been marked as a duplicate of this issue. *** --
[Issue 23592] [REG2.095] deprecation on calling aliased private imported function without parens
https://issues.dlang.org/show_bug.cgi?id=23592 Iain Buclaw changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #2 from Iain Buclaw --- *** This issue has been marked as a duplicate of issue 21670 *** --
[Issue 21670] [REG 2.095] Public alias to private function triggers a deprecaton
https://issues.dlang.org/show_bug.cgi?id=21670 Iain Buclaw changed: What|Removed |Added CC||ibuc...@gdcproject.org --- Comment #3 from Iain Buclaw --- (In reply to Mathias LANG from comment #0) > void main () > { > string s = up; > } As pointed out in issue 23592, `s = up();` works around the issue. --
[Issue 23592] [REG2.095] deprecation on calling aliased private imported function without parens
https://issues.dlang.org/show_bug.cgi?id=23592 Iain Buclaw changed: What|Removed |Added CC||ibuc...@gdcproject.org --- Comment #1 from Iain Buclaw --- Introduced by https://github.com/dlang/dmd/pull/11811 --
[Issue 23587] cast(void) doesn't work for noreturn
https://issues.dlang.org/show_bug.cgi?id=23587 --- Comment #5 from ar...@samerion.com --- (In reply to RazvanN from comment #3) > Why does it matter? The call to fun will never return so casting to void (or > any other value) it actually a no-op. In this case it makes the compiler issue an unwanted warning. The cast is supposed to tell the compiler I'm purposefully discarding the return value. As a workaround, I could've done this: ``` fun(); static if (!is(typeof(stuff()) == void)) { writeln("never written"); } ``` But it's a mess, and I don't want to do that every time I call a template delegate. --
[Issue 23592] [REG2.095] deprecation on calling aliased private imported function without parens
https://issues.dlang.org/show_bug.cgi?id=23592 johanenge...@weka.io changed: What|Removed |Added Keywords||industry, rejects-valid Hardware|x86 |All OS|Mac OS X|All Severity|enhancement |regression --
[Issue 23592] New: [REG2.095] deprecation on calling aliased private imported function without parens
https://issues.dlang.org/show_bug.cgi?id=23592 Issue ID: 23592 Summary: [REG2.095] deprecation on calling aliased private imported function without parens Product: D Version: D2 Hardware: x86 OS: Mac OS X Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: johanenge...@weka.io Testcase consists of two files, a.d and b.d. Compilation `dmd -de a.d -c -o-` gives the message since 2.095: ``` a.d(4): Deprecation: Function b.C.template_function!int.template_function of type pure nothrow @nogc @safe void() is not accessible from module a ``` The deprecation message is gone when calling _with_ parens: `c.foo()`. Testcase, file a.d: ``` import b; void foo(C c) { c.foo; // c.foo(); // with parens it works without deprecation :-) } ``` Testcase, file b.d: ``` class C { private void template_function(T)() {} alias foo = template_function!int; } ``` --
[Issue 23499] inliner crashes/asserts when building for 32-bit
https://issues.dlang.org/show_bug.cgi?id=23499 Iain Buclaw changed: What|Removed |Added CC||maxha...@gmail.com --- Comment #4 from Iain Buclaw --- *** Issue 23585 has been marked as a duplicate of this issue. *** --
[Issue 23585] Win32 inliner crash
https://issues.dlang.org/show_bug.cgi?id=23585 Iain Buclaw changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #2 from Iain Buclaw --- I think this is a duplicate of issue 23499. *** This issue has been marked as a duplicate of issue 23499 *** --
[Issue 23589] [REG2.095] Purity check special case gives circular reference error.
https://issues.dlang.org/show_bug.cgi?id=23589 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Dlang Bot --- dlang/dmd pull request #14750 "fix Issue 23589 - [REG2.095] Purity check special case gives circular reference error" was merged into stable: - df4670e4506c5f83bd35d9f330c420bec9baf163 by Iain Buclaw: fix Issue 23589 - [REG2.095] Purity check special case gives circular reference error https://github.com/dlang/dmd/pull/14750 --
[Issue 16098] align(N) not respected for stack variables if N > platform stack alignment
https://issues.dlang.org/show_bug.cgi?id=16098 --- Comment #13 from Vladimir Panteleev --- @Walter Bright, I think you may have posted the above comment to the wrong issue. --
[Issue 23591] [REG 2.101] Invalid casts accepted by the compiler if from type is noreturn
https://issues.dlang.org/show_bug.cgi?id=23591 Iain Buclaw changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=23587 --
[Issue 23587] cast(void) doesn't work for noreturn
https://issues.dlang.org/show_bug.cgi?id=23587 Iain Buclaw changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=23591 --
[Issue 23587] cast(void) doesn't work for noreturn
https://issues.dlang.org/show_bug.cgi?id=23587 --- Comment #4 from Iain Buclaw --- (In reply to RazvanN from comment #3) > Why does it matter? The call to fun will never return so casting to void (or > any other value) it actually a no-op. The devils in the detail of the change, not the example code in this bug report. By blowing a hole in the type system has opened up the flood gates to even worse abominations being accepted. --
[Issue 23591] [REG 2.101] Invalid casts accepted by the compiler if from type is noreturn
https://issues.dlang.org/show_bug.cgi?id=23591 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #1 from Dlang Bot --- @ibuclaw updated dlang/dmd pull request #14758 "Revert "Fix Issues 23331, 23379 - fix casts involving noreturn"" fixing this issue: - fix Issue 23591 - [REG 2.101] Invalid casts accepted by the compiler if from type is noreturn https://github.com/dlang/dmd/pull/14758 --
[Issue 23591] [REG 2.101] Invalid casts accepted by the compiler if from type is noreturn
https://issues.dlang.org/show_bug.cgi?id=23591 Iain Buclaw changed: What|Removed |Added Keywords||accepts-invalid CC||ibuc...@gdcproject.org --
[Issue 23591] New: [REG 2.101] Invalid casts accepted by the compiler if from type is noreturn
https://issues.dlang.org/show_bug.cgi?id=23591 Issue ID: 23591 Summary: [REG 2.101] Invalid casts accepted by the compiler if from type is noreturn Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: regression Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: ibuc...@gdcproject.org This nonsense is compilable. --- noreturn square(int x); int example(int i) { int x = cast(string)square(i); int y = cast(real function(char))assert(0); return x + y; } --- Introduced by https://github.com/dlang/dmd/pull/14494 --
[Issue 23587] cast(void) doesn't work for noreturn
https://issues.dlang.org/show_bug.cgi?id=23587 RazvanN changed: What|Removed |Added CC||razvan.nitu1...@gmail.com --- Comment #3 from RazvanN --- Why does it matter? The call to fun will never return so casting to void (or any other value) it actually a no-op. --
[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 #15 from Richard Cattermole --- (In reply to Walter Bright from comment #14) > Start towards fixing this: https://github.com/dlang/dmd/pull/14761 --