Add Future and IntoFuture to the 2024 prelude

Implements RFC 3509.
This commit is contained in:
Nilstrieb 2024-02-13 18:35:17 +01:00
parent 8a497723e3
commit bd8a1a417a
6 changed files with 19 additions and 9 deletions

View file

@ -49,9 +49,13 @@ pub mod rust_2021 {
/// The 2024 edition of the core prelude.
///
/// See the [module-level documentation](self) for more.
#[unstable(feature = "prelude_2024", issue = "none")]
#[unstable(feature = "prelude_2024", issue = "121042")]
pub mod rust_2024 {
#[unstable(feature = "prelude_2024", issue = "none")]
#[unstable(feature = "prelude_2024", issue = "121042")]
#[doc(no_inline)]
pub use super::rust_2021::*;
#[unstable(feature = "prelude_2024", issue = "121042")]
#[doc(no_inline)]
pub use crate::future::{Future, IntoFuture};
}

View file

@ -132,13 +132,13 @@ pub mod rust_2021 {
/// The 2024 version of the prelude of The Rust Standard Library.
///
/// See the [module-level documentation](self) for more.
#[unstable(feature = "prelude_2024", issue = "none")]
#[unstable(feature = "prelude_2024", issue = "121042")]
pub mod rust_2024 {
#[unstable(feature = "prelude_2024", issue = "none")]
#[unstable(feature = "prelude_2024", issue = "121042")]
#[doc(no_inline)]
pub use super::v1::*;
#[unstable(feature = "prelude_2024", issue = "none")]
#[unstable(feature = "prelude_2024", issue = "121042")]
#[doc(no_inline)]
pub use core::prelude::rust_2024::*;
}

View file

@ -16,7 +16,7 @@
// FIXME: The following limits should be reduced eventually.
const ISSUES_ENTRY_LIMIT: usize = 1781;
const ROOT_ENTRY_LIMIT: usize = 871;
const ROOT_ENTRY_LIMIT: usize = 872;
const EXPECTED_TEST_FILE_EXTENSIONS: &[&str] = &[
"rs", // test source files

View file

@ -4,8 +4,6 @@
#![feature(async_iterator, async_iter_from_iter, const_waker, async_for_loop, noop_waker,
gen_blocks)]
use std::future::Future;
async gen fn async_iter() -> i32 {
let iter = core::async_iter::from_iter(0..3);
for await i in iter {

View file

@ -46,7 +46,6 @@ async fn async_main() {
use std::pin::{Pin, pin};
use std::task::*;
use std::async_iter::AsyncIterator;
use std::future::Future;
trait AsyncIterExt {
fn next(&mut self) -> Next<'_, Self>;

View file

@ -0,0 +1,9 @@
//@ check-pass
//@ compile-flags: -Zunstable-options
//@ edition:2024
fn main() {
fut(async {}.into_future(), async {});
}
fn fut(_: impl Future, _: impl IntoFuture) {}