diff --git a/Cargo.toml b/Cargo.toml
index 9281766b8..cb6d0ce2d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,7 +2,7 @@
members = [
"tokio",
- # "tokio-buf",
+ "tokio-buf",
"tokio-codec",
"tokio-current-thread",
"tokio-executor",
diff --git a/tokio-buf/Cargo.toml b/tokio-buf/Cargo.toml
index f9f069abd..73edc7ae0 100644
--- a/tokio-buf/Cargo.toml
+++ b/tokio-buf/Cargo.toml
@@ -24,11 +24,10 @@ publish = false
[dependencies]
bytes = "0.4.10"
either = { version = "1.5", optional = true}
-futures = "0.1.23"
[features]
-default = ["util"]
-util = ["bytes/either", "either"]
+# default = ["util"]
+# util = ["bytes/either", "either"]
[dev-dependencies]
tokio-mock-task = "0.1.1"
diff --git a/tokio-buf/src/lib.rs b/tokio-buf/src/lib.rs
index 823bad49b..fd24f6b95 100644
--- a/tokio-buf/src/lib.rs
+++ b/tokio-buf/src/lib.rs
@@ -15,20 +15,20 @@
//! instead of yielding arbitrary values, it only yields types that implement
//! `Buf` (i.e, byte collections).
-mod never;
+// mod never;
mod size_hint;
-mod str;
-mod u8;
-#[cfg(feature = "util")]
-pub mod util;
+// mod str;
+// mod u8;
+// #[cfg(feature = "util")]
+// pub mod util;
pub use self::size_hint::SizeHint;
-#[doc(inline)]
-#[cfg(feature = "util")]
-pub use crate::util::BufStreamExt;
+// #[doc(inline)]
+// #[cfg(feature = "util")]
+// pub use crate::util::BufStreamExt;
use bytes::Buf;
-use futures::Poll;
+use std::task::{Context, Poll};
/// An asynchronous stream of bytes.
///
@@ -68,7 +68,7 @@ pub trait BufStream {
///
/// Once a stream is finished, i.e. `Ready(None)` has been returned, further
/// calls to `poll_buf` may result in a panic or other "bad behavior".
- fn poll_buf(&mut self) -> Poll