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.