www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - First Beta 2.106.0

reply Iain Buclaw <ibuclaw gdcproject.org> writes:
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
Nov 01 2023
next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
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?
Nov 01 2023
next sibling parent "Richard (Rikki) Andrew Cattermole" <richard cattermole.co.nz> writes:
Anything that requires the AA from CTFE to cross into runtime should now 
work. If it doesn't that is a bug.
Nov 01 2023
prev sibling parent Iain Buclaw <ibuclaw gdcproject.org> writes:
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
Nov 02 2023
prev sibling next sibling parent reply Imperatorn <johan_forsberg_86 hotmail.com> writes:
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).
Nov 02 2023
parent reply Iain Buclaw <ibuclaw gdcproject.org> writes:
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.
Nov 02 2023
next sibling parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
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!
Nov 02 2023
prev sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
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?
Nov 02 2023
parent reply Iain Buclaw <ibuclaw gdcproject.org> writes:
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.
Nov 07 2023
parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
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!
Nov 08 2023
prev sibling next sibling parent Andrea Fontana <nospam example.org> writes:
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
Nov 04 2023
prev sibling next sibling parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
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
Nov 14 2023
parent Adam Wilson <flyboynw gmail.com> writes:
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.
Nov 14 2023
prev sibling parent reply Andrey Zherikov <andrey.zherikov gmail.com> writes:
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
Nov 14 2023
parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
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.
Nov 15 2023