This patch series introduces derive macros for `TryFrom` and `Into` traits.
A few enhancements were made to the custom `quote!()` macro to write the derive macro. These include support for additional punctuation tokens and a fix for an unused variable warning when quoting simple forms. Detailed information about these enhancements is provided in the relevant patches. This series builds on the previous work [1], where the `FromPrimitive` trait was considered too heavy for the current use cases. In response to the emerging need for functionality similar to `ToPrimitive`, this series also implements the `Into` derive macro. The original discussion can be found on Zulip [2]. [1] https://lore.kernel.org/rust-for-linux/[email protected]/ [2] https://rust-for-linux.zulipchat.com/#narrow/channel/288089/topic/x/near/524335626 Changes in v2 (no functional changes): - Split the patch "rust: macros: extend custom `quote!()` macro" into two separate patches. - Remove unnecessary spaces between tags. - Use a consistent commit subject prefix: "rust: macros:". - Add Tested-by tags. Jesung Yang (5): rust: macros: allow conversion from `&T` to `TokenStream` rust: macros: extend custom `quote!()` macro rust: macros: prefix variable `span` with underscore rust: macros: add derive macro for `TryFrom` rust: macros: add derive macro for `Into` rust/macros/convert.rs | 361 +++++++++++++++++++++++++++++++++++++++++ rust/macros/lib.rs | 239 +++++++++++++++++++++++++++ rust/macros/quote.rs | 40 ++++- 3 files changed, 638 insertions(+), 2 deletions(-) create mode 100644 rust/macros/convert.rs base-commit: dff64b072708ffef23c117fa1ee1ea59eb417807 -- 2.39.5
