Export statement?
Piotr Szturmaj
bncrbme at jadamspam.pl
Tue Oct 16 14:43:52 PDT 2012
We have:
ImportExpression:
import ( AssignExpression )
Why not also add this:
ExportStatement:
export ( AssignExpression, AssignExpression )
Both of the AssignExpressions must evaluate at compile time to a
constant string. The text contents of the first string are interpreted
as a file name. The text contents of the second string are written to
the file specified in the first argument, overwriting previous content
if the file exists.
Implementations may restrict the file name in order to avoid security
vulnerabilities. A possible restriction might be to allow only paths
specified in the compiler option.
(the above was shamelessly copied from D docs and then modified)
Export keyword already exist, it's used only as protection attribute, so
this proposal would not cause ambiguity.
About some use cases, off the top of my head:
- generating build scripts or their parts from the code.
- generating code to instantiate C++ templates when linking with C++ code.
- debugging complex ctfe function output, f.i. string to be mixed in
(pragma(msg, ...) is a half solution).
What do you think?
More information about the Digitalmars-d
mailing list