#![allow(unused)]
#[cfg(not(feature = "default-disabled"))]
use act_zero::runtimes::default::spawn_actor;
use act_zero::*;
struct HelloWorldActor;
impl Actor for HelloWorldActor {}
impl HelloWorldActor {
async fn say_hello(&mut self) {
println!("Hello, world!");
}
}
#[cfg(not(feature = "default-disabled"))]
async fn run_example() -> Result<(), ActorError> {
let addr = spawn_actor(HelloWorldActor);
call!(addr.say_hello()).await?;
Ok(())
}
#[cfg(all(
any(feature = "default-tokio", feature = "default-async-std"),
not(feature = "default-disabled")
))]
#[cfg_attr(feature = "default-async-std", async_std::main)]
#[cfg_attr(feature = "default-tokio", tokio::main)]
async fn main() -> Result<(), ActorError> {
run_example().await
}
#[cfg(not(all(
any(feature = "default-tokio", feature = "default-async-std"),
not(feature = "default-disabled")
)))]
fn main() {
panic!("No default runtime selected")
}