www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - some thoughs about "deprecated"

Hi all

what about to add some optional or mandatory parameters to following 
keywords

*module* [(verNum,[compilerVer])] moduleName;
*import* [(verNum)] moduleName;
*deprecated* [(verNum[,comments])] something;

meaning of this in general is to improve ability if library and language 
refactoring.

In particular for *module* definition version specifier it is current 
version and may be compiler/language version used to compile it.

for *import* version it's a version of module/library is designed with

in *deprecated* version specifies version since method,class etc is 
deprecated. This can be handful if something is deprecated in next 
version of library and after some period of time had a new life with 
different meaning. It gives flexibility to reuse everything marked as 
*deprecated* without fear that is will be used in way is not mean to be 
used.

Imagine if you have some code dependent on library which does not have a 
stable version and currently in development and you do not always track 
all changes in it, you missed some versions of it and class or method is 
being deprecated and became used again with different meaning.
Jun 03 2005