[Issue 22975] 3 cyclic aliases with meaningful overloads not caught [ice]

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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)

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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)

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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()

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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.

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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.

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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.

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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.

2022-12-30 Thread d-bugmail--- via Digitalmars-d-bugs
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

--