Skip to content

Commit e0224ab

Browse files
committed
Use futures-core and futures-tasks via futures-util.
Just to reduce number of dependencies.
1 parent 6dee339 commit e0224ab

File tree

9 files changed

+12
-18
lines changed

9 files changed

+12
-18
lines changed

Cargo.toml

+2-4
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ luau = ["ffi/luau"]
3535
luau-jit = ["luau", "ffi/luau-codegen"]
3636
vendored = ["ffi/vendored"]
3737
module = ["mlua_derive", "ffi/module"]
38-
async = ["futures-core", "futures-task", "futures-util"]
38+
async = ["futures-util"]
3939
send = []
4040
serialize = ["serde", "erased-serde", "serde-value"]
4141
macros = ["mlua_derive/macros"]
@@ -47,9 +47,7 @@ bstr = { version = "1.0", features = ["std"], default_features = false }
4747
once_cell = { version = "1.0" }
4848
num-traits = { version = "0.2.14" }
4949
rustc-hash = "1.0"
50-
futures-core = { version = "0.3.5", optional = true }
51-
futures-task = { version = "0.3.5", optional = true }
52-
futures-util = { version = "0.3.5", optional = true }
50+
futures-util = { version = "0.3", optional = true, default-features = false, features = ["std"] }
5351
serde = { version = "1.0", optional = true }
5452
erased-serde = { version = "0.3", optional = true }
5553
serde-value = { version = "0.7", optional = true }

src/chunk.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::lua::Lua;
1111
use crate::value::{FromLuaMulti, IntoLua, IntoLuaMulti, Value};
1212

1313
#[cfg(feature = "async")]
14-
use {futures_core::future::LocalBoxFuture, futures_util::future};
14+
use futures_util::future::{self, LocalBoxFuture};
1515

1616
/// Trait for types [loadable by Lua] and convertible to a [`Chunk`]
1717
///

src/function.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ use crate::value::{FromLuaMulti, IntoLua, IntoLuaMulti};
1616
#[cfg(feature = "async")]
1717
use {
1818
crate::types::AsyncCallback,
19-
futures_core::future::{Future, LocalBoxFuture},
20-
futures_util::{future, TryFutureExt},
19+
futures_util::future::{self, Future, LocalBoxFuture, TryFutureExt},
2120
};
2221

2322
/// Handle to an internal Lua function.

src/lua.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,8 @@ use crate::{chunk::Compiler, types::VmState};
5454
#[cfg(feature = "async")]
5555
use {
5656
crate::types::{AsyncCallback, AsyncCallbackUpvalue, AsyncPollUpvalue},
57-
futures_task::noop_waker_ref,
58-
futures_util::future::{self, TryFutureExt},
59-
std::{
60-
future::Future,
61-
task::{Context, Poll, Waker},
62-
},
57+
futures_util::future::{self, Future, TryFutureExt},
58+
futures_util::task::{noop_waker_ref, Context, Poll, Waker},
6359
};
6460

6561
#[cfg(feature = "serialize")]

src/scope.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use crate::value::{FromLua, FromLuaMulti, IntoLua, IntoLuaMulti, MultiValue, Val
2424
use crate::userdata::USER_VALUE_MAXSLOT;
2525

2626
#[cfg(feature = "async")]
27-
use futures_core::future::Future;
27+
use std::future::Future;
2828

2929
/// Constructed by the [`Lua::scope`] method, allows temporarily creating Lua userdata and
3030
/// callbacks that are not required to be Send or 'static.

src/table.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use crate::util::{assert_stack, check_stack, StackGuard};
1818
use crate::value::{FromLua, FromLuaMulti, IntoLua, IntoLuaMulti, Nil, Value};
1919

2020
#[cfg(feature = "async")]
21-
use {futures_core::future::LocalBoxFuture, futures_util::future};
21+
use futures_util::future::{self, LocalBoxFuture};
2222

2323
/// Handle to an internal Lua table.
2424
#[derive(Clone)]

src/thread.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ use {
2727
lua::ASYNC_POLL_PENDING,
2828
value::{MultiValue, Value},
2929
},
30-
futures_core::{future::Future, stream::Stream},
30+
futures_util::stream::Stream,
3131
std::{
32+
future::Future,
3233
marker::PhantomData,
3334
pin::Pin,
3435
ptr::NonNull,

src/types.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use std::{fmt, mem, ptr};
99
use std::ffi::CStr;
1010

1111
#[cfg(feature = "async")]
12-
use futures_core::future::LocalBoxFuture;
12+
use futures_util::future::LocalBoxFuture;
1313

1414
use crate::error::Result;
1515
#[cfg(not(feature = "luau"))]

src/userdata_ext.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use crate::userdata::{AnyUserData, MetaMethod};
44
use crate::value::{FromLua, FromLuaMulti, IntoLua, IntoLuaMulti, Value};
55

66
#[cfg(feature = "async")]
7-
use {futures_core::future::LocalBoxFuture, futures_util::future};
7+
use futures_util::future::{self, LocalBoxFuture};
88

99
/// An extension trait for [`AnyUserData`] that provides a variety of convenient functionality.
1010
pub trait AnyUserDataExt<'lua>: Sealed {

0 commit comments

Comments
 (0)