From 663dfd35de5fc1b4fbf6f9cc24978f4b0acc3c0d Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Sun, 27 Dec 2020 03:08:29 +0000 Subject: [PATCH] make service no_std --- actix-service/src/and_then.rs | 21 +++++++++++++-------- actix-service/src/and_then_apply_fn.rs | 14 ++++++++------ actix-service/src/apply.rs | 4 ++-- actix-service/src/apply_cfg.rs | 14 ++++++++------ actix-service/src/boxed.rs | 12 ++++++++---- actix-service/src/fn_service.rs | 6 ++---- actix-service/src/lib.rs | 22 +++++++++++++--------- actix-service/src/map.rs | 10 ++++++---- actix-service/src/map_config.rs | 2 +- actix-service/src/map_err.rs | 10 ++++++---- actix-service/src/map_init_err.rs | 10 ++++++---- actix-service/src/pipeline.rs | 7 +++++-- actix-service/src/then.rs | 21 +++++++++++++-------- actix-service/src/transform.rs | 12 +++++++----- actix-service/src/transform_err.rs | 10 ++++++---- actix-tracing/src/lib.rs | 2 +- 16 files changed, 105 insertions(+), 72 deletions(-) diff --git a/actix-service/src/and_then.rs b/actix-service/src/and_then.rs index 04caf79d..863c8dd1 100644 --- a/actix-service/src/and_then.rs +++ b/actix-service/src/and_then.rs @@ -1,8 +1,11 @@ -use std::future::Future; -use std::pin::Pin; -use std::rc::Rc; -use std::task::{Context, Poll}; -use std::{cell::RefCell, marker::PhantomData}; +use alloc::rc::Rc; +use core::{ + cell::RefCell, + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use super::{Service, ServiceFactory}; @@ -254,9 +257,11 @@ where #[cfg(test)] mod tests { - use std::cell::Cell; - use std::rc::Rc; - use std::task::{Context, Poll}; + use alloc::rc::Rc; + use core::{ + cell::Cell, + task::{Context, Poll}, + }; use futures_util::future::{lazy, ok, ready, Ready}; diff --git a/actix-service/src/and_then_apply_fn.rs b/actix-service/src/and_then_apply_fn.rs index 01585e62..5638bc8c 100644 --- a/actix-service/src/and_then_apply_fn.rs +++ b/actix-service/src/and_then_apply_fn.rs @@ -1,9 +1,11 @@ -use std::cell::RefCell; -use std::future::Future; -use std::marker::PhantomData; -use std::pin::Pin; -use std::rc::Rc; -use std::task::{Context, Poll}; +use alloc::rc::Rc; +use core::{ + cell::RefCell, + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use crate::{Service, ServiceFactory}; diff --git a/actix-service/src/apply.rs b/actix-service/src/apply.rs index 7a963610..9bf97bb4 100644 --- a/actix-service/src/apply.rs +++ b/actix-service/src/apply.rs @@ -1,4 +1,4 @@ -use std::{ +use core::{ future::Future, marker::PhantomData, pin::Pin, @@ -207,7 +207,7 @@ where #[cfg(test)] mod tests { - use std::task::Poll; + use core::task::Poll; use futures_util::future::{lazy, ok, Ready}; diff --git a/actix-service/src/apply_cfg.rs b/actix-service/src/apply_cfg.rs index da24e87d..882bb3c5 100644 --- a/actix-service/src/apply_cfg.rs +++ b/actix-service/src/apply_cfg.rs @@ -1,9 +1,11 @@ -use std::cell::RefCell; -use std::future::Future; -use std::marker::PhantomData; -use std::pin::Pin; -use std::rc::Rc; -use std::task::{Context, Poll}; +use alloc::rc::Rc; +use core::{ + cell::RefCell, + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use crate::{Service, ServiceFactory}; diff --git a/actix-service/src/boxed.rs b/actix-service/src/boxed.rs index 5d83360d..203d575c 100644 --- a/actix-service/src/boxed.rs +++ b/actix-service/src/boxed.rs @@ -1,6 +1,10 @@ -use std::pin::Pin; -use std::task::{Context, Poll}; -use std::{future::Future, marker::PhantomData}; +use alloc::boxed::Box; +use core::{ + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use futures_util::future::FutureExt; @@ -28,7 +32,7 @@ where { BoxServiceFactory(Box::new(FactoryWrapper { factory, - _t: std::marker::PhantomData, + _t: PhantomData, })) } diff --git a/actix-service/src/fn_service.rs b/actix-service/src/fn_service.rs index 232bf988..59792564 100644 --- a/actix-service/src/fn_service.rs +++ b/actix-service/src/fn_service.rs @@ -1,6 +1,4 @@ -use std::future::Future; -use std::marker::PhantomData; -use std::task::Poll; +use core::{future::Future, marker::PhantomData, task::Poll}; use futures_util::future::{ok, Ready}; @@ -357,7 +355,7 @@ where #[cfg(test)] mod tests { - use std::task::Poll; + use core::task::Poll; use futures_util::future::{lazy, ok}; diff --git a/actix-service/src/lib.rs b/actix-service/src/lib.rs index 8cc97fd7..38f1f167 100644 --- a/actix-service/src/lib.rs +++ b/actix-service/src/lib.rs @@ -1,15 +1,19 @@ //! See [`Service`] docs for information on this crate's foundational trait. +#![no_std] #![deny(rust_2018_idioms, nonstandard_style)] #![allow(clippy::type_complexity)] #![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")] -use std::cell::RefCell; -use std::future::Future; -use std::rc::Rc; -use std::sync::Arc; -use std::task::{self, Context, Poll}; +extern crate alloc; + +use alloc::{boxed::Box, rc::Rc, sync::Arc}; +use core::{ + cell::RefCell, + future::Future, + task::{self, Context, Poll}, +}; mod and_then; mod and_then_apply_fn; @@ -365,8 +369,8 @@ macro_rules! always_ready { () => { fn poll_ready( &mut self, - _: &mut ::std::task::Context<'_>, - ) -> ::std::task::Poll> { + _: &mut ::core::task::Context<'_>, + ) -> ::core::task::Poll> { Poll::Ready(Ok(())) } }; @@ -377,8 +381,8 @@ macro_rules! forward_ready { ($field:ident) => { fn poll_ready( &mut self, - cx: &mut ::std::task::Context<'_>, - ) -> ::std::task::Poll> { + cx: &mut ::core::task::Context<'_>, + ) -> ::core::task::Poll> { self.$field.poll_ready(cx) } }; diff --git a/actix-service/src/map.rs b/actix-service/src/map.rs index 87dbd856..0c815298 100644 --- a/actix-service/src/map.rs +++ b/actix-service/src/map.rs @@ -1,7 +1,9 @@ -use std::future::Future; -use std::marker::PhantomData; -use std::pin::Pin; -use std::task::{Context, Poll}; +use core::{ + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use super::{Service, ServiceFactory}; diff --git a/actix-service/src/map_config.rs b/actix-service/src/map_config.rs index 82b1789b..d6d6f6b2 100644 --- a/actix-service/src/map_config.rs +++ b/actix-service/src/map_config.rs @@ -1,4 +1,4 @@ -use std::marker::PhantomData; +use core::marker::PhantomData; use super::{IntoServiceFactory, ServiceFactory}; diff --git a/actix-service/src/map_err.rs b/actix-service/src/map_err.rs index ae7442cc..d4e94a8d 100644 --- a/actix-service/src/map_err.rs +++ b/actix-service/src/map_err.rs @@ -1,7 +1,9 @@ -use std::future::Future; -use std::marker::PhantomData; -use std::pin::Pin; -use std::task::{Context, Poll}; +use core::{ + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use super::{Service, ServiceFactory}; diff --git a/actix-service/src/map_init_err.rs b/actix-service/src/map_init_err.rs index 518daaf6..b8ab5c42 100644 --- a/actix-service/src/map_init_err.rs +++ b/actix-service/src/map_init_err.rs @@ -1,7 +1,9 @@ -use std::future::Future; -use std::marker::PhantomData; -use std::pin::Pin; -use std::task::{Context, Poll}; +use core::{ + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use super::ServiceFactory; diff --git a/actix-service/src/pipeline.rs b/actix-service/src/pipeline.rs index cba7ce78..a09039b7 100644 --- a/actix-service/src/pipeline.rs +++ b/actix-service/src/pipeline.rs @@ -1,5 +1,8 @@ -use std::task::{Context, Poll}; -use std::{future::Future, marker::PhantomData}; +use core::{ + future::Future, + marker::PhantomData, + task::{Context, Poll}, +}; use crate::and_then::{AndThenService, AndThenServiceFactory}; use crate::and_then_apply_fn::{AndThenApplyFn, AndThenApplyFnFactory}; diff --git a/actix-service/src/then.rs b/actix-service/src/then.rs index 021e5484..2de5a60d 100644 --- a/actix-service/src/then.rs +++ b/actix-service/src/then.rs @@ -1,8 +1,11 @@ -use std::future::Future; -use std::pin::Pin; -use std::rc::Rc; -use std::task::{Context, Poll}; -use std::{cell::RefCell, marker::PhantomData}; +use alloc::rc::Rc; +use core::{ + cell::RefCell, + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use super::{Service, ServiceFactory}; @@ -236,9 +239,11 @@ where #[cfg(test)] mod tests { - use std::cell::Cell; - use std::rc::Rc; - use std::task::{Context, Poll}; + use alloc::rc::Rc; + use core::{ + cell::Cell, + task::{Context, Poll}, + }; use futures_util::future::{err, lazy, ok, ready, Ready}; diff --git a/actix-service/src/transform.rs b/actix-service/src/transform.rs index d4d49417..602e7f54 100644 --- a/actix-service/src/transform.rs +++ b/actix-service/src/transform.rs @@ -1,8 +1,10 @@ -use std::pin::Pin; -use std::rc::Rc; -use std::sync::Arc; -use std::task::{Context, Poll}; -use std::{future::Future, marker::PhantomData}; +use alloc::{rc::Rc, sync::Arc}; +use core::{ + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use crate::transform_err::TransformMapInitErr; use crate::{IntoServiceFactory, Service, ServiceFactory}; diff --git a/actix-service/src/transform_err.rs b/actix-service/src/transform_err.rs index 1d1b9576..355f2720 100644 --- a/actix-service/src/transform_err.rs +++ b/actix-service/src/transform_err.rs @@ -1,7 +1,9 @@ -use std::future::Future; -use std::marker::PhantomData; -use std::pin::Pin; -use std::task::{Context, Poll}; +use core::{ + future::Future, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; use super::Transform; diff --git a/actix-tracing/src/lib.rs b/actix-tracing/src/lib.rs index 52a7ca5b..6d37d9b3 100644 --- a/actix-tracing/src/lib.rs +++ b/actix-tracing/src/lib.rs @@ -4,7 +4,7 @@ #![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")] -use std::marker::PhantomData; +use core::marker::PhantomData; use actix_service::{ apply, dev::ApplyTransform, IntoServiceFactory, Service, ServiceFactory, Transform,