Final by default?

Walter Bright newshound2 at digitalmars.com
Fri Mar 14 10:53:59 PDT 2014


On 3/14/2014 10:26 AM, Johannes Pfau wrote:
> I use manifest constants instead of version identifiers as well. If a
> version identifier affects the public API/ABI of a library, then the
> library and all code using the library always have to be compiled with
> the same version switches(inlining and templates make this an even
> bigger problem). This is not only inconvenient, it's also easy to think
> of examples where the problem will only show up as crashes at runtime.
> The only reason why that's not an issue in phobos/druntime is that we
> only use compiler defined versions there, but user defined versions are
> almost unusable.

Use this method:


     --------
     import wackyfunctionality;
     ...
     WackyFunction();
     --------
     module wackyfunctionality;

     void WackyFunction() {
         version (Linux)
           SomeWackyFunction();
         else version (OSX)
             SomeWackyFunction();
         else
             ... workaround ...
     }
     --------


More information about the Digitalmars-d mailing list