Jump to page: 1 2
Thread overview
First Beta 2.106.0
Nov 02, 2023
Iain Buclaw
Nov 02, 2023
Andrej Mitrovic
Nov 02, 2023
Iain Buclaw
Nov 02, 2023
Imperatorn
Nov 02, 2023
Iain Buclaw
Nov 02, 2023
Imperatorn
Nov 03, 2023
Andrej Mitrovic
Nov 08, 2023
Iain Buclaw
Nov 08, 2023
Andrej Mitrovic
Nov 04, 2023
Andrea Fontana
Nov 15, 2023
Adam Wilson
Nov 14, 2023
Andrey Zherikov
Nov 15, 2023
Imperatorn
November 02, 2023

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

November 02, 2023

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, what exactly is it meant by "globals"?

Variables in module-scope?
Static variables?

Does it also affect AAs in structs? For example:

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

Will this now work?

November 02, 2023
Anything that requires the AA from CTFE to cross into runtime should now work. If it doesn't that is a bug.
November 02, 2023

On Thursday, 2 November 2023 at 02:07:13 UTC, Andrej Mitrovic wrote:

>

Does it also affect AAs in structs? For example:

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

November 02, 2023

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).

November 02, 2023

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.

November 02, 2023

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!

November 03, 2023

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?

November 04, 2023

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

November 08, 2023

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.

« First   ‹ Prev
1 2