DIP 1007 Preliminary Review Round 1

Nick Sabalausky (Abscissa) via Digitalmars-d digitalmars-d at puremagic.com
Wed May 10 21:11:03 PDT 2017


On 04/25/2017 08:33 AM, Steven Schveighoffer wrote:
>
> In the general case, one year is too long. A couple compiler releases
> should be sufficient.
>
>>
>> * When the @future attribute is added, would one add it on a dummy
>> symbol or would one provide the implementation as well?
>
> dummy symbol. Think of it as @disable, but with warning output instead
> of error.
>

This is a pointless limitation. What is the benefit of requiring the 
author to *not* provide an implementation until the transition period is 
over? It runs counter to normal workflow.

Instead, why not just say "Here's a new function. But !!ZOMG!! what if 
somebody is already using a function by that name??!? They'd have use 
FQNs to disambiguate! Gasp!!! We can't have that! So, fine, if it's that 
big of a deal, we'll just instruct the compiler to just NOT pick up this 
function unless it's specifically requested via FQN".

That sounds FAR better to me than "Here's a new function, but we gotta 
keep it hidden in a separate branch/version/etc and not let anyone use 
it until we waste a bunch of time making sure everyone's code is all 
updated and ready so that once we let people use it nobody will have to 
update their code with FQNs, because we can't have that, can we?"

Pardon me for saying so, and so bluntly, but honestly, this whole 
discussion is just stupid. It's full-on C++-grade anti-breakage 
hysteria. There are times when code breakage is a legitimate problem. 
This is not REMOTELY one of them.




More information about the Digitalmars-d mailing list