Except that the fix for issue 3449 causes existing code to silently change behavior. It can also cause very unclear and confusing error messages. I hit a couple of these when trying to compile Tango.
Example of error messages I got:
* tango/io/selector/SelectSelector.d(156): Error: function tango.io.selector.SelectSelector.HandleSet.opAssign is not callable because it is annotated with @disable
https://github.com/SiegeLord/Tango-D2/blob/d2port/tango/io/selector/SelectSelector.d#L156
The code doesn't use @disable at all. "opAssign" is not overloaded. It's very confusing that keywords and functions that don't exist in the source code are mentioned.
* Error: cannot modify struct this HandleSet with immutable members
No file or line information.
Comment #1 by k.hara.pg — 2013-05-24T01:17:08Z
(In reply to comment #0)
> * Error: cannot modify struct this HandleSet with immutable members
>
> No file or line information.
I opened bug 10160 to fix the strange error message.
Comment #2 by robert.schadek — 2024-12-13T18:07:03Z