Re: First Beta 2.106.0

2023-11-15 Thread Imperatorn via Digitalmars-d-announce
On Tuesday, 14 November 2023 at 23:17:32 UTC, Andrey Zherikov 
wrote:

On Thursday, 2 November 2023 at 00:57:23 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.106.0 release, ♥ to 
the 33 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.106.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


Filed https://issues.dlang.org/show_bug.cgi?id=24246 for ICE


Looks like illegal instruction.


Re: First Beta 2.106.0

2023-11-14 Thread Adam Wilson via Digitalmars-d-announce
On Tuesday, 14 November 2023 at 17:44:11 UTC, Steven 
Schveighoffer wrote:

This might be one of the greatest releases of D ever.

-Steve


I second this.


Re: First Beta 2.106.0

2023-11-14 Thread Andrey Zherikov via Digitalmars-d-announce

On Thursday, 2 November 2023 at 00:57:23 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.106.0 release, ♥ to 
the 33 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.106.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


Filed https://issues.dlang.org/show_bug.cgi?id=24246 for ICE


Re: First Beta 2.106.0

2023-11-14 Thread Steven Schveighoffer via Digitalmars-d-announce

On Thursday, 2 November 2023 at 00:57:23 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.106.0 release, ♥ to 
the 33 contributors.



Kind of buried in the changelog (because it's just a few issues 
closed) is a really significant change coming to this version: 
the much-hated "statement is not reachable" warning is being 
removed.


This might be one of the greatest releases of D ever.

-Steve


Re: First Beta 2.106.0

2023-11-08 Thread Andrej Mitrovic via Digitalmars-d-announce

On Wednesday, 8 November 2023 at 05:53:32 UTC, Iain Buclaw wrote:
Recursively adding `nothrow:` was implied but I err towards 
brevity.


Alright thanks for clarifying!



Re: First Beta 2.106.0

2023-11-07 Thread Iain Buclaw via Digitalmars-d-announce

On Friday, 3 November 2023 at 04:33:12 UTC, Andrej Mitrovic wrote:

On Thursday, 2 November 2023 at 09:13:55 UTC, Iain Buclaw wrote:

On Thursday, 2 November 2023 at 07:49:32 UTC, Imperatorn wrote:
Why is it named nothrow if what it's really doing is not 
adding the unwinders?
A nothrow switch could imply it's doing something in 
relationship to nothrow, which it doesn't (unless it's 
secretly enforcing nothrow in the codebase).


`-nothrow` is equivalent to putting `nothrow:` at the top of 
every compiled module.


That kind of goes against what it says in the changelog:



Recursively adding `nothrow:` was implied but I err towards 
brevity.



And it also mentions:


The switch does not affect semantic analysis


But surely it has effect on semantics? I assume scope 
statements are disallowed if -nothrow is set and would lead to 
compilation errors?


Right, statements that depend on exceptions as part of their 
operation can't possibly work because no unwind tables, eh 
regions, etc... are generated.


Re: First Beta 2.106.0

2023-11-04 Thread Andrea Fontana via Digitalmars-d-announce

On Thursday, 2 November 2023 at 00:57:23 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.106.0 release, ♥ to 
the 33 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.106.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


Static AA init, finally! Great!

Andrea


Re: First Beta 2.106.0

2023-11-02 Thread Andrej Mitrovic via Digitalmars-d-announce

On Thursday, 2 November 2023 at 09:13:55 UTC, Iain Buclaw wrote:

On Thursday, 2 November 2023 at 07:49:32 UTC, Imperatorn wrote:
Why is it named nothrow if what it's really doing is not 
adding the unwinders?
A nothrow switch could imply it's doing something in 
relationship to nothrow, which it doesn't (unless it's 
secretly enforcing nothrow in the codebase).


`-nothrow` is equivalent to putting `nothrow:` at the top of 
every compiled module.


That kind of goes against what it says in the changelog:

Putting nothrow: at the top of the module doesn't influence the 
status for member functions in a class or struct, the nothrow: 
will have to be repeated for each class/struct.


And it also mentions:


The switch does not affect semantic analysis


But surely it has effect on semantics? I assume scope statements 
are disallowed if -nothrow is set and would lead to compilation 
errors?


Re: First Beta 2.106.0

2023-11-02 Thread Imperatorn via Digitalmars-d-announce

On Thursday, 2 November 2023 at 09:13:55 UTC, Iain Buclaw wrote:

On Thursday, 2 November 2023 at 07:49:32 UTC, Imperatorn wrote:
Why is it named nothrow if what it's really doing is not 
adding the unwinders?
A nothrow switch could imply it's doing something in 
relationship to nothrow, which it doesn't (unless it's 
secretly enforcing nothrow in the codebase).


`-nothrow` is equivalent to putting `nothrow:` at the top of 
every compiled module.


Ok, then it makes sense. Thanks!


Re: First Beta 2.106.0

2023-11-02 Thread Iain Buclaw via Digitalmars-d-announce

On Thursday, 2 November 2023 at 07:49:32 UTC, Imperatorn wrote:
Why is it named nothrow if what it's really doing is not adding 
the unwinders?
A nothrow switch could imply it's doing something in 
relationship to nothrow, which it doesn't (unless it's secretly 
enforcing nothrow in the codebase).


`-nothrow` is equivalent to putting `nothrow:` at the top of 
every compiled module.


Re: First Beta 2.106.0

2023-11-02 Thread Imperatorn via Digitalmars-d-announce

On Thursday, 2 November 2023 at 00:57:23 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.106.0 release, ♥ to 
the 33 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.106.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


Great work!

I'm just wondering about the -nothrow switch name:

"Adding the -nothrow switch to the compiler causes the stack 
unwinders to not be added and enables the optimizations. This 
capability is already there for -betterC code, this would just 
enable it for regular D code."


Why is it named nothrow if what it's really doing is not adding 
the unwinders?
A nothrow switch could imply it's doing something in relationship 
to nothrow, which it doesn't (unless it's secretly enforcing 
nothrow in the codebase).


Re: First Beta 2.106.0

2023-11-02 Thread Iain Buclaw via Digitalmars-d-announce
On Thursday, 2 November 2023 at 02:07:13 UTC, Andrej Mitrovic 
wrote:

Does it also affect AAs in structs? For example:

```d
struct S
{
static int[int] x = [4:4];
}
```

Will this now work?


Yes, there are a few kinks that need ironing out though, 
hopefully before the RC in a couple weeks.


One open PR
https://github.com/dlang/dmd/pull/15744

and another found issue
https://issues.dlang.org/show_bug.cgi?id=24209


Re: First Beta 2.106.0

2023-11-01 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce
Anything that requires the AA from CTFE to cross into runtime should now 
work. If it doesn't that is a bug.


Re: First Beta 2.106.0

2023-11-01 Thread Andrej Mitrovic via Digitalmars-d-announce

On Thursday, 2 November 2023 at 00:57:23 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.106.0 release, ♥ to 
the 33 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.106.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


Thanks Iain.

For [Global variables can now be initialized with Associative 
Arrays](https://dlang.org/changelog/2.106.0.html#dmd.static-assoc-array), what exactly is it meant by "globals"?


Variables in module-scope?
Static variables?

Does it also affect AAs in structs? For example:

```d
struct S
{
static int[int] x = [4:4];
}
```

Will this now work?


First Beta 2.106.0

2023-11-01 Thread Iain Buclaw via Digitalmars-d-announce
Glad to announce the first beta for the 2.106.0 release, ♥ to the 
33 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.106.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team