summaryrefslogtreecommitdiffstats
path: root/third_party/rust/futures-task/src/lib.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/rust/futures-task/src/lib.rs
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/futures-task/src/lib.rs')
-rw-r--r--third_party/rust/futures-task/src/lib.rs57
1 files changed, 57 insertions, 0 deletions
diff --git a/third_party/rust/futures-task/src/lib.rs b/third_party/rust/futures-task/src/lib.rs
new file mode 100644
index 0000000000..b18a33a83f
--- /dev/null
+++ b/third_party/rust/futures-task/src/lib.rs
@@ -0,0 +1,57 @@
+//! Tools for working with tasks.
+
+#![cfg_attr(feature = "cfg-target-has-atomic", feature(cfg_target_has_atomic))]
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#![warn(missing_docs, missing_debug_implementations, rust_2018_idioms, unreachable_pub)]
+// It cannot be included in the published code because this lints have false positives in the minimum required version.
+#![cfg_attr(test, warn(single_use_lifetimes))]
+#![warn(clippy::all)]
+
+#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
+
+#![doc(html_root_url = "https://docs.rs/futures-task/0.3.0")]
+
+#[cfg(all(feature = "cfg-target-has-atomic", not(feature = "unstable")))]
+compile_error!("The `cfg-target-has-atomic` feature requires the `unstable` feature as an explicit opt-in to unstable features");
+
+#[cfg(feature = "alloc")]
+extern crate alloc;
+
+macro_rules! cfg_target_has_atomic {
+ ($($item:item)*) => {$(
+ #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))]
+ $item
+ )*};
+}
+
+mod spawn;
+pub use crate::spawn::{Spawn, SpawnError, LocalSpawn};
+
+cfg_target_has_atomic! {
+ #[cfg(feature = "alloc")]
+ mod arc_wake;
+ #[cfg(feature = "alloc")]
+ pub use crate::arc_wake::ArcWake;
+
+ #[cfg(feature = "alloc")]
+ mod waker;
+ #[cfg(feature = "alloc")]
+ pub use crate::waker::waker;
+
+ #[cfg(feature = "alloc")]
+ mod waker_ref;
+ #[cfg(feature = "alloc")]
+ pub use crate::waker_ref::{waker_ref, WakerRef};
+}
+
+mod future_obj;
+pub use crate::future_obj::{FutureObj, LocalFutureObj, UnsafeFutureObj};
+
+mod noop_waker;
+pub use crate::noop_waker::noop_waker;
+#[cfg(feature = "std")]
+pub use crate::noop_waker::noop_waker_ref;
+
+pub use core::task::{Context, Poll, Waker, RawWaker, RawWakerVTable};