Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Remove the common prelude module
This fixes the issues described in
#136102. Primarily, this
resolves some issues with how the documentation for the prelude is
generated:

- It avoids showing "unstable" for macros in the prelude that are
  actually stable.
- Avoids duplication of some pages due to the previous lack of
  `doc(no_inline)`.
- Makes the different edition preludes consistent, and sets a pattern
  that can be used by future editions.

We may need to rearrange these modules in the future if we decide to
remove anything from the prelude again. If we do, I think we should look
into a different solution that avoids the documentation problems.
  • Loading branch information
ehuss committed Feb 11, 2025
commit 8c24c0a023456c3d9e58f06a3abf0a83d335c6f6
14 changes: 3 additions & 11 deletions library/core/src/prelude/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,7 @@

#![stable(feature = "core_prelude", since = "1.4.0")]

mod common;

/// The first version of the prelude of The Rust Standard Library.
///
/// See the [module-level documentation](self) for more.
#[stable(feature = "rust1", since = "1.0.0")]
pub mod v1 {
#[stable(feature = "rust1", since = "1.0.0")]
pub use super::common::*;
}
pub mod v1;

/// The 2015 version of the core prelude.
///
Expand Down Expand Up @@ -64,7 +55,8 @@ pub mod rust_2021 {
#[stable(feature = "prelude_2024", since = "1.85.0")]
pub mod rust_2024 {
#[stable(feature = "rust1", since = "1.0.0")]
pub use super::common::*;
#[doc(no_inline)]
pub use super::v1::*;

#[stable(feature = "prelude_2021", since = "1.55.0")]
#[doc(no_inline)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
//! Items common to the prelude of all editions.
//! The first version of the core prelude.
//!
//! See the [module-level documentation](super) for more.
#![stable(feature = "core_prelude", since = "1.4.0")]

// No formatting: this file is nothing but re-exports, and their order is worth preserving.
#![cfg_attr(rustfmt, rustfmt::skip)]

Expand Down
14 changes: 3 additions & 11 deletions library/std/src/prelude/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,16 +111,7 @@

#![stable(feature = "rust1", since = "1.0.0")]

mod common;

/// The first version of the prelude of The Rust Standard Library.
///
/// See the [module-level documentation](self) for more.
#[stable(feature = "rust1", since = "1.0.0")]
pub mod v1 {
#[stable(feature = "rust1", since = "1.0.0")]
pub use super::common::*;
}
pub mod v1;

/// The 2015 version of the prelude of The Rust Standard Library.
///
Expand Down Expand Up @@ -162,7 +153,8 @@ pub mod rust_2021 {
#[stable(feature = "prelude_2024", since = "1.85.0")]
pub mod rust_2024 {
#[stable(feature = "rust1", since = "1.0.0")]
pub use super::common::*;
#[doc(no_inline)]
pub use super::v1::*;

#[stable(feature = "prelude_2024", since = "1.85.0")]
#[doc(no_inline)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
//! Items common to the prelude of all editions.
//! The first version of the prelude of The Rust Standard Library.
//!
//! See the [module-level documentation](super) for more.

#![stable(feature = "rust1", since = "1.0.0")]

// No formatting: this file is nothing but re-exports, and their order is worth preserving.
#![cfg_attr(rustfmt, rustfmt::skip)]

Expand Down
2 changes: 1 addition & 1 deletion tests/rustdoc-js-std/vec-new.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const EXPECTED = [
{
'query': 'prelude::vec',
'others': [
{ 'path': 'std::prelude::rust_2024', 'name': 'Vec' },
{ 'path': 'std::prelude::v1', 'name': 'Vec' },
],
},
{
Expand Down
Loading