On 2011-09-21 02:18, Andrej Mitrovic wrote:
Won't compile for obvious reasons:struct Bar { } struct Foo { this(Bar bar, int line = __LINE__) { pragma(msg, "Warning: Constructing Foo with Bar incurs precision loss. Line: " ~ line); } } void main() { auto foo = Foo(Bar()); } That's just an example, but I want to issue a compile-time warning when a specific ctor is called because it might incur precision loss. I want to give the user the line number of the call, but I can't call to!string since it's not ctfe-able, so do I have any other options?
Have a look at: http://d-programming-language.org/templates-revisited.html Search for "Template Metaprogramming With Strings". -- /Jacob Carlborg
