use springtime::application;
use springtime::future::{BoxFuture, FutureExt};
use springtime::runner::ApplicationRunner;
use springtime_di::instance_provider::ErrorPtr;
use springtime_di::{component_alias, Component};
#[derive(Component)]
struct HelloWorldRunner;
#[component_alias]
impl ApplicationRunner for HelloWorldRunner {
fn run(&self) -> BoxFuture<'_, Result<(), ErrorPtr>> {
async {
println!("Hello world!");
Ok(())
}
.boxed()
}
}
#[tokio::main]
async fn main() {
let mut application =
application::create_default().expect("unable to create default application");
application.run().await.expect("error running application");
}