Jump to page: 1 2
Thread overview
March 02

Glad to announce the first beta for the 2.108.0 release, ♥ to the 35 contributors.

This release comes with 7 major changes and 48 fixed Bugzilla issues, including:

  • In the language, support has been added for Interpolated Expression Sequences.
  • In phobos, std.uni has been upgraded to Unicode 15.1.0.
  • In dub, the fetch command now supports multiple arguments, recursive fetch, and is project-aware.

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

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

-Iain
on behalf of the Dlang Core Team

March 16

The RC for 2.108 has been released, which includes the following changes from the initial beta:

  • Named Arguments is now implemented and documented as a new feature in this release. The beta supports the feature, but was left undocumented while some remaining issues were being fixed.

  • Hexstrings now implicitly convert to integer arrays. The beta had introduced support to allow casting to arrays only.

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

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

-Iain
on behalf of the Dlang Core Team

March 16

On Saturday, 16 March 2024 at 09:26:20 UTC, Iain Buclaw wrote:

>

The RC for 2.108 has been released, which includes the following changes from the initial beta:

  • Named Arguments is now implemented and documented as a new feature in this release. The beta supports the feature, but was left undocumented while some remaining issues were being fixed.

  • Hexstrings now implicitly convert to integer arrays. The beta had introduced support to allow casting to arrays only.

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

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

-Iain
on behalf of the Dlang Core Team

union U
{
    float asFloat;
    uint asInt;
}

auto u0 = U(1.0); // this sets the `asFloat` field
auto u1 = U(asInt: 0x3F800000); // formerly not possible

Wow, this is so cool, can't wait to try it out, thanks to everyone who made it happen!

March 16

On Saturday, 16 March 2024 at 09:26:20 UTC, Iain Buclaw wrote:

>

The RC for 2.108 has been released, which includes the following changes from the initial beta:

  • Named Arguments is now implemented and documented as a new feature in this release. The beta supports the feature, but was left undocumented while some remaining issues were being fixed.

  • Hexstrings now implicitly convert to integer arrays. The beta had introduced support to allow casting to arrays only.

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

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

-Iain
on behalf of the Dlang Core Team

It's only getting a quick mention in the middle of the list of bug fixes, but "Bugzilla 24397: Support C preprocessor function-like macros" is a big deal for ImportC - that was the final piece needed to use ImportC with large C files without manual intervention. (At least that's the case for the code I'm working with.)

March 20
Am 16.03.2024 um 11:31 schrieb Daniel N:
> ```d
> union U
> {
>      float asFloat;
>      uint asInt;
> }
> 
> auto u0 = U(1.0); // this sets the `asFloat` field
> auto u1 = U(asInt: 0x3F800000); // formerly not possible
> ```
> 
> Wow, this is so cool, can't wait to try it out, thanks to everyone who made it happen!
> 

Note that this has already been possible in places where the {} syntax can be used:

    auto u1 = {asInt: 0x3F800000};

Still great to see this officially implemented!

March 20

On Saturday, 2 March 2024 at 17:40:29 UTC, Iain Buclaw wrote:

>

[...]

>

Named arguments for functions have been implemented and documented

Yay, I was really looking forward to this.

I currently use std.typecons.Flag virtually everywhere to make sure I don't confuse parameters.

auto doThing(
    const string what,
    const Flag!"foo" foo,
    const Flag!"bar" bar,
    const Flag!"baz" baz = No.baz)
{
    // ...
}

auto thing = doThing("asdf", Yes.foo, No.bar, Yes.baz);

It will take some time adapting to but I welcome the addition.

March 21

On Saturday, 2 March 2024 at 17:40:29 UTC, Iain Buclaw wrote:

>

Glad to announce the first beta for the 2.108.0 release, ♥ to the 35 contributors.

This release comes with 7 major changes and 48 fixed Bugzilla issues, including:

  • In the language, support has been added for Interpolated Expression Sequences.
  • In phobos, std.uni has been upgraded to Unicode 15.1.0.
  • In dub, the fetch command now supports multiple arguments, recursive fetch, and is project-aware.

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

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

-Iain
on behalf of the Dlang Core Team

woah this release is amazing! It's solving some of my long standing pain points missing with the language (in particular named arguments as struct initializer replacements and interpolated strings) - the other features may only be very niche things, however they are absolutely plenty appreciated since they drastically make things easier (hexstrings) or even possible in the first place (magic initializer thingies) for library code and generated code.

This gives me excitement like older D releases used to feel again, as well as in the forums real usage of D in projects or samples instead of pointless discussions seem to also be gaining more popularity again.

Can't wait for the full release, gonna try out using new features from this beta one already.

March 21

On Thursday, 21 March 2024 at 02:14:36 UTC, WebFreak001 wrote:

>

On Saturday, 2 March 2024 at 17:40:29 UTC, Iain Buclaw wrote:
.. since they drastically make things easier (hexstrings) or even possible in the first place (magic initializer thingies) for library code and generated code.

I cannot say the same thing. It is thought-provoking that even the toHex() function, which should be in std.conv, was not included and we had to write it ourselves.

SDB@79

March 21

On Thursday, 21 March 2024 at 03:19:16 UTC, Salih Dincer wrote:

>

On Thursday, 21 March 2024 at 02:14:36 UTC, WebFreak001 wrote:

>

On Saturday, 2 March 2024 at 17:40:29 UTC, Iain Buclaw wrote:
.. since they drastically make things easier (hexstrings) or even possible in the first place (magic initializer thingies) for library code and generated code.

I cannot say the same thing. It is thought-provoking that even the toHex() function, which should be in std.conv, was not included and we had to write it ourselves.

SDB@79

This?

import std;

void main()
{
    int number = 32409;
    auto hex = format("%X", number);
    writeln(hex);
}

or:

auto toHex(N)(N number) if (isIntegral!N) { return "%X".format(number); }
...
auto hex = 3432.toHex();
...

March 21

On Saturday, 16 March 2024 at 09:26:20 UTC, Iain Buclaw wrote:

>

The RC for 2.108 has been released, which includes the following changes from the initial beta:

  • Named Arguments is now implemented and documented as a new feature in this release. The beta supports the feature, but was left undocumented while some remaining issues were being fixed.

  • Hexstrings now implicitly convert to integer arrays. The beta had introduced support to allow casting to arrays only.

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

Great release! "Named Arguments" and "String Interpolation" called: "Interpolated Expression Sequences"

« First   ‹ Prev
1 2