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