feat(rt): export hyper::rt::main attribute macro

Usage:

    #[hyper::rt::main]
    async fn main() {
        // async stuff in here
    }
This commit is contained in:
Sean McArthur
2019-07-10 14:12:21 -07:00
parent 8d4ae27b42
commit f0478c6267
2 changed files with 4 additions and 16 deletions

View File

@@ -1,7 +1,5 @@
#![feature(async_await)]
#![deny(warnings)]
extern crate hyper;
extern crate pretty_env_logger;
use hyper::{Body, Request, Response, Server};
use hyper::service::{make_service_fn, service_fn};
@@ -10,8 +8,8 @@ async fn hello(_: Request<Body>) -> Result<Response<Body>, hyper::Error> {
Ok(Response::new(Body::from("Hello World!")))
}
#[tokio::main]
pub async fn main() -> Result<(), Box<dyn std::error::Error>> {
#[hyper::rt::main]
pub async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
pretty_env_logger::init();
let addr = ([127, 0, 0, 1], 3000).into();

View File

@@ -11,6 +11,8 @@ pub use futures_core::Stream;
use tokio;
pub use tokio::main;
use self::inner::Spawn;
/// Spawns a future on the default executor.
@@ -34,18 +36,6 @@ where
}
}
/// Start the Tokio runtime using the supplied future to bootstrap execution.
///
/// # Example
///
/// See the [server documentation](::server) for an example of its usage.
pub fn run<F>(f: F)
where
F: Future<Output = ()> + Send + 'static
{
tokio::run(f);
}
// Make the `Spawn` type an unnameable, so we can add
// methods or trait impls to it later without a breaking change.
mod inner {