Retain Rust code items from mod decorated with subxt attribute (#721)

* refactor: Simplify collecting type substitutes

* Simplify ItemMod::from

* Preserve inner Rust items when expanding the subxt::subxt macro

* No named lifetimes

* Update codegen/src/api/mod.rs

Co-authored-by: Andrew Jones <ascjones@gmail.com>

* Move passing UI tests under `ui_tests`

Co-authored-by: Andrew Jones <ascjones@gmail.com>
This commit is contained in:
Igor Matuszewski
2022-11-23 12:28:49 +01:00
committed by GitHub
parent 15ffbb6c4b
commit 8b46f5c786
4 changed files with 54 additions and 9 deletions
@@ -0,0 +1,30 @@
#[subxt::subxt(runtime_metadata_path = "../../../artifacts/polkadot_metadata.scale")]
pub mod node_runtime {
pub struct SomeStruct;
pub enum SomeEnum {
A,
B,
}
pub trait SomeTrait {
fn some_func(&self) -> u32;
}
impl SomeTrait for SomeStruct {
fn some_func(&self) -> u32 {
1
}
}
impl SomeTrait for SomeEnum {
fn some_func(&self) -> u32 {
2
}
}
}
fn main() {
use node_runtime::SomeTrait;
let unit = node_runtime::SomeStruct;
assert_eq!(unit.some_func(), 1);
let enumeration = node_runtime::SomeEnum::A;
assert_eq!(enumeration.some_func(), 2);
}