mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-26 19:47:28 +00:00
27 lines
885 B
Rust
27 lines
885 B
Rust
//! The public parts of this private module are used to create traits
|
|
//! that cannot be implemented outside of our own crate. This way we
|
|
//! can feel free to extend those traits without worrying about it
|
|
//! being a breaking change for other implementations.
|
|
|
|
/// If this type is pub but not publicly reachable, third parties
|
|
/// can't name it and can't implement traits using it.
|
|
#[allow(missing_debug_implementations)]
|
|
pub struct PrivateMarker;
|
|
|
|
macro_rules! private_decl {
|
|
() => {
|
|
/// This trait is private; this method exists to make it
|
|
/// impossible to implement outside the crate.
|
|
#[doc(hidden)]
|
|
fn __rayon_private__(&self) -> crate::private::PrivateMarker;
|
|
};
|
|
}
|
|
|
|
macro_rules! private_impl {
|
|
() => {
|
|
fn __rayon_private__(&self) -> crate::private::PrivateMarker {
|
|
crate::private::PrivateMarker
|
|
}
|
|
};
|
|
}
|