On 2015-05-27 21:41, Idan Arye wrote:
I think it's more important to be explicit in the macro invocation than
in the macro declaration. You can tell from the macro declaration that
it's a macro you are looking at, even without the `macro` keyword,
It depends. As far as I can see, just looking at the macro declaration
it's just a regular function declaration. You need to look at the types.
First, you need to know that "Auto" is a special type. Second, you need
to know that it's only a special type if the fully qualified name is
"core.macros.Auto".
It's not enough to look at the imports in the current module, since D
supports public imports:
module foo;
public import core.macros;
module bar;
import foo;
Auto myAssert(Auto condition, Auto message)
{
return message;
}
Not so easy to tell that "myAssert" is a macro declaration just by
looking in the module "bar".
--
/Jacob Carlborg