2025-08-05 08:17:35 +09:00
|
|
|
use caretta_core::utils::runnable::Runnable;
|
|
|
|
use caretta_macros::Runnable;
|
2025-07-03 08:28:59 +09:00
|
|
|
|
|
|
|
struct RunnableStruct1;
|
|
|
|
|
|
|
|
impl Runnable for RunnableStruct1 {
|
2025-08-21 07:40:33 +09:00
|
|
|
async fn run(self, app_name: &'static str) {
|
2025-07-03 08:28:59 +09:00
|
|
|
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)
|
|
|
|
};
|
2025-08-21 07:40:33 +09:00
|
|
|
runnable.run("runnable_app").await;
|
2025-07-03 08:28:59 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|