32 lines
609 B
Rust
32 lines
609 B
Rust
use caretta_sync_core::utils::runnable::Runnable;
|
|
use caretta_sync_macros::Runnable;
|
|
|
|
struct RunnableStruct1;
|
|
|
|
impl Runnable for RunnableStruct1 {
|
|
async fn run(self, app_name: &'static str) {
|
|
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("runnable_app").await;
|
|
}
|
|
|
|
|
|
|