caretta-sync/macros/tests/derive_runnable.rs
2025-08-05 08:17:35 +09:00

32 lines
561 B
Rust

use caretta_core::utils::runnable::Runnable;
use caretta_macros::Runnable;
struct RunnableStruct1;
impl Runnable for RunnableStruct1 {
async fn run(self) {
print!("Run {}", stringify!(RunnableStruct1::run()))
}
}
#[derive(Runnable)]
enum RunnableEnum {
Struct1(RunnableStruct1),
}
#[derive(Runnable)]
struct RunnableStruct2 {
#[runnable]
runnable: RunnableEnum,
}
#[tokio::test]
async fn test() {
let runnable = RunnableStruct2{
runnable: RunnableEnum::Struct1(RunnableStruct1)
};
runnable.run().await;
}