On Sunday, 16 September 2018 at 01:47:33 UTC, Mike Franklin wrote:
On Friday, 14 September 2018 at 23:08:34 UTC, Nicholas Wilson
The only thing I think is missing is a flag to accelerate the process s.t. the examples

f(E.a);
f(E.b);
g(a - b);

can be made to call their int/long overloads straight away. But otherwise, er, no. A resounding yes with a small request to make the transition faster!

I'm not too keen on adding a compiler flag, because then I have to worry about deprecating the compiler flag. I don't know if the bugs that this DIP fixes are serious enough to justify it. I'd be happy to add it if others are willing to voice their support for it, demonstrating sufficient demand. Or, I suppose I could add it as an option for Walter and Andrei to approve or reject on judgement day.

Mike

Its more about dealing with the deprecation warning.

With the current specification I can tell the compiler I want the old behaviour with a cast. I should be able to tell the compiler that "Yes, I wan't this new behaviour. Please don't warn me about it.", once I have verified that my code is correct under the new behaviour.

Without it, I get a (possibly quite a lot of) deprecation warnings and I have to insert a cast to the corresponding type, e.g. f(cast(int)E.a)/g(cast(long)(a - b)), to verify the behaviour under the new system and silence the deprecation warning (absolutely necessary if using `-de`). Then I have to delete them after stage 2, but what if I want to support older compilers? Well then I have to wait until they are sufficiently old enough.

Reply via email to