I need to use delete as the method name. But now it's still a keyword, right?
zoujiaqing
zoujiaqing at gmail.com
Wed May 18 16:31:25 UTC 2022
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.
More information about the Digitalmars-d-learn
mailing list