Rollup merge of #121041 - Nilstrieb:into-the-future-of-2024, r=Mark-Simulacrum

Add `Future` and `IntoFuture` to the 2024 prelude

Implements rust-lang/rfcs#3509.
This commit is contained in:
Matthias Krüger 2024-02-19 13:04:33 +01:00 committed by GitHub
commit cf0b36a1c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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 @@ const ENTRY_LIMIT: usize = 900;
// 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) {}