On Wednesday, 18 May 2022 at 15:33:09 UTC, Steven Schveighoffer wrote:
On 5/18/22 2:13 AM, bauss wrote:
On Wednesday, 18 May 2022 at 02:12:42 UTC, zoujiaqing wrote:
https://dlang.org/changelog/2.100.0.html#deprecation_delete

My code:

```D
import std.stdio;

class HttpClient
{
    string get(string url)
    {
        return "";
    }

    string delete(string url)
    {
        return "";
    }
}

void main()
{
    auto http = new HttpClient;

    string content = http.get("https://forum.dlang.org/group/general";);     string content = http.delete("https://forum.dlang.org/newpost/general?";);
}
```

error message
```bash
% dub build --compiler=dmd
Performing "debug" build using dmd for x86_64.
test ~master: building configuration "application"...
source/app.d(10,9): Error: no identifier for declarator `string`
source/app.d(10,9): Error: declaration expected, not `delete`
source/app.d(14,1): Error: unmatched closing brace
dmd failed with exit code 1.
```

I wonder when I can use it. Because this will cause a software naming problem.

Considering the deprecation period has ended then IMO it should be able to be used as an identifier.

I would consider this a bug.

No, it's intentional.

https://dlang.org/changelog/2.100.0.html#deprecation_delete

> Starting with this release, using the delete *keyword* will
result in a *compiler error*.

It's still a keyword according to that. I'm assuming a future release will remove the error, and then you can use it as a symbol.

-Steve

The body is now available, and hopefully the delete keyword will be deprecated soon.

Reply via email to