Rust: add proc-macro capabilities to QL tests

This adds the possibility to add a special `proc_macro.rs` source file
to QL tests, which will be generated into a `proc_macro` crate the
usual `lib` crate depends on.

This allow to define procedural macros in QL tests, and is here used to
move the `macro-expansion` integration test to be a language test
instead.

As the generated manifests involved were starting to get a bit complex,
they are now generated from a `mustache` template.
This commit is contained in:
Paolo Tranquilli
2025-06-17 16:19:50 +02:00
parent 17cd58bd3c
commit 299fe2eb3f
33 changed files with 2428 additions and 380 deletions

View File

@@ -334,6 +334,7 @@ _NORMAL_DEPENDENCIES = {
"figment": Label("@vendor_ts__figment-0.10.19//:figment"),
"glob": Label("@vendor_ts__glob-0.3.2//:glob"),
"itertools": Label("@vendor_ts__itertools-0.14.0//:itertools"),
"mustache": Label("@vendor_ts__mustache-0.9.0//:mustache"),
"num-traits": Label("@vendor_ts__num-traits-0.2.19//:num_traits"),
"ra_ap_base_db": Label("@vendor_ts__ra_ap_base_db-0.0.273//:ra_ap_base_db"),
"ra_ap_cfg": Label("@vendor_ts__ra_ap_cfg-0.0.273//:ra_ap_cfg"),