announce-std 0.2.0

announce trampolines for std/core traits
Documentation
//! announce mocks of `marker` traits (hand-written).

#[allow(unused_imports)]
use announce::announce;

/// announce mock of [`::core::marker::Copy`]: invoke `Copy!` to receive its definition.
///
/// The real trait is available under the same path in the type namespace
/// (from rustc 1.94, through a glob re-export, since the macro namespace holds this
/// trampoline).
#[announce(mock = ::core::marker::Copy)]
pub trait Copy: ::core::clone::Clone {}

#[cfg(announce_std_rust_1_94)]
#[doc(hidden)]
pub mod __real {
    pub use ::core::marker::Copy;
}
#[cfg(announce_std_rust_1_94)]
#[doc(no_inline)]
pub use self::__real::*;

#[cfg(not(announce_std_rust_1_94))]
/// Fallback for rustc < 1.94: a blanket subtrait of [`::core::marker::Copy`], usable in bounds.
pub trait Copy: ::core::marker::Copy {}
#[cfg(not(announce_std_rust_1_94))]
impl<__T: ?::core::marker::Sized + ::core::marker::Copy> Copy for __T {}