On Tuesday 12 July 2011 19:18:10 Leandro Lucarella wrote: > Jonathan M Davis, el 12 de julio a las 21:51 me escribiste: > > If you want how the language treats deprecated to change, then feel free > > to create a pull request and try and talk Walter into it. Arguably, > > warning about deprecation and then only failing to compile when the > > deprecated stuff is actually removed is the better way to handle > > things. But that's not how D is designed (probably at least in part > > because Walter doesn't really believe in warnings). So, feel free to > > try and talk Walter into it, but unless the default behavior is > > changed, deprecating something is going to silently break people's code > > unless you tell them about it first (which is the point of scheduling > > something for deprecation). > > So, your solution is issuing warnings behind the compiler and Walter's > back. Great! I love this! Now I remember why I loved D so much =P
Nothing is being done behind anyone's back. It was Walter who pushed for stuff to be scheduled for deprecation before being actually deprecated, because he didn't want code breaking on people without any warning. We decided to use pragmas to present messages to the user informing them of the impending deprecation, because the language doesn't currently have anything built in with the concept of "scheduled for deprecation." It was either that or not warn about the impending deprecation except in the changelog and documentation, in which case, anyone who doesn't pay enough attention to those would still end up with their code being broken without warning when the symbols are actually deprecated. So, we went for the messages. If the majority of people would prefer not to have the messages and risk having their code break when something is deprecated, because they missed the notice in the changelog or documentation, then the messages will go away. But we thought that they were a good idea, so we put them in there. None of this is trying to circumvent Walter or the compiler. - Jonathan M Davis