|
|
|
|
|
by likeliv
2423 days ago
|
|
I disagree that the user of the macro needs to understand its output.
The output of a macro is an implementation detail, and the documentation of the macro should be enough to use the macro without even looking at its output. For example, no need to understand the magic behind the 'quote!' or the #[async_trait] macros to use them. |
|
As a consequence, criticising the complexity of whatever a C compiler generates cannot possibly be valid criticism of C's complexity on a _semantic_ level whereas criticising the output of a Rust macro can be valid criticism of Rust on a semantic level.