| Crates.io | proc-macro2-impersonated |
| lib.rs | proc-macro2-impersonated |
| version | 0.1.1 |
| created_at | 2020-04-14 10:00:49.217717+00 |
| updated_at | 2020-04-15 10:03:06.72128+00 |
| description | A substitute implementation of the compiler's `proc_macro` API |
| homepage | |
| repository | https://github.com/botika/proc-macro2-impersonated |
| max_upload_size | |
| id | 229957 |
| size | 118,942 |
Adapted from
proc-macro2Removed wrap proc-macro for correct span outside rust sources Not use in proc-macro context if you don't know what you do
A wrapper around the procedural macro API of the compiler's proc_macro crate.
This library serves two purposes:
Bring proc-macro-like functionality to other contexts like build.rs and
main.rs. Types from proc_macro are entirely specific to procedural macros
and cannot ever exist in code outside of a procedural macro. Meanwhile
proc_macro2 types may exist anywhere including non-macro code. By developing
foundational libraries like syn and quote against proc_macro2 rather
than proc_macro, the procedural macro ecosystem becomes easily applicable to
many other use cases and we avoid reimplementing non-macro equivalents of
those libraries.
Make procedural macros unit testable. As a consequence of being specific
to procedural macros, nothing that uses proc_macro can be executed from a
unit test. In order for helper libraries or components of a macro to be
testable in isolation, they must be implemented using proc_macro2.
[dependencies]
proc-macro2-impersonated = "1.0"