update macro

pull/479/head
sunface 3 years ago
parent 5479925b19
commit 0251a26e0d

@ -164,6 +164,8 @@ let v = {
当**创建过程宏**时,它的定义必须要放入一个独立的包中,且包的类型也是特殊的,这么做的原因相当复杂,大家只要知道这种限制在未来可能会有所改变即可。
> 事实上,根据[这个说法](https://www.reddit.com/r/rust/comments/t1oa1e/what_are_the_complex_technical_reasons_why/),过程宏放入独立包的原因在于它必须先被编译后才能使用,如果过程宏和使用它的代码在一个包,就必须先单独对过程宏的代码进行编译,然后再对我们的代码进行编译,但悲剧的是 Rust 的编译单元是包,因此你无法做到这一点。
假设我们要创建一个 `derive` 类型的过程宏:
```rust
use proc_macro;

Loading…
Cancel
Save